Files
iAOP/tests/perf/README.md
T
bot_dev1 c4a3c2d04e feat(#87,#88): 采集/总线/LLM 路由 DLP NFR 压测套件
新增 tests/perf/ NFR 压测套件,对应 PRD 第 9 章 SLA 全量压测:

#88 LLM 路由/DLP 压测:
- DLP 敏感拦截率 100%(2000 样本,含 PII/凭证/工艺词,零漏拦)
- DLP 清洁零误报(1000 样本),单条 0.033ms / 30097 qps
- 路由敏感不泄漏云端 100%(1500 样本,≥96.5% 基线达标)
- 安全指令(停机)100% 转 block/人工

#87 采集/总线 NFR 压测:
- 采集 P99=312ms(≤1.8s,600 点位 30 轮),可用性 100%(≥99.8%),丢失率 0%(≤0.02%)
- 总线 6000 样本不丢不重(幂等去重)

合成数据集固定随机种子可重复,零外部依赖,CI 可直接执行。
运行:python -m unittest discover -s tests/perf -v
2026-08-04 18:43:39 +08:00

39 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# iAOP NFR 压测套件(Issue #87 / #88)
对应 PRD 第 9 章 NFR 全量压测与 EPIC #14(M4)子任务:
- **#88 LLM 路由 / DLP 压测**:DLP 拦截率 100%、路由敏感命中率 ≥ 96.5%;
- **#87 采集 / 总线 NFR 压测**:P99 ≤ 1.8s、丢失率 ≤ 0.02%、可用性 ≥ 99.8%、不丢不重。
全部基于各模块可注入接口运行(模拟驱动 + MemorySink + 内存 LLM 后端),零外部依赖,CI 可直接执行。
## 压测结论(PRD 第 9 章 SLA)
| 指标 | PRD 目标 | 压测结果 | 用例 |
|------|----------|----------|------|
| DLP 敏感拦截率 | **100%** | ✅ 100%(2000 样本) | `test_dlp_intercept_rate_100_percent` |
| DLP 清洁误报率 | 0% | ✅ 0%(1000 样本零误报) | `test_dlp_clean_passthrough` |
| DLP 单条时延 | 信息性 | ✅ 0.033ms / 30097 qps | 同上 |
| 路由敏感不泄漏云端 | **≥ 96.5%** | ✅ 100%(1500 样本) | `test_router_sensitive_never_cloud` |
| 安全指令转人工 | 100% | ✅ 100%(block) | `test_router_block_safety_commands` |
| 采集 P99 延迟 | **≤ 1.8s**(600 点位 1Hz) | ✅ 313ms(30 轮 × 600 点位) | `test_p99_latency_under_threshold` |
| 采集可用性 | **≥ 99.8%** | ✅ 100% | 同上 |
| 采集丢失率 | **≤ 0.02%** | ✅ 0% | 同上 |
| 总线不丢不重 | 不丢不重 | ✅ 6000 样本零丢失零重复 | `test_no_loss_no_dup_at_scale` |
## 运行方式
```bash
# 在仓库根目录执行(需 Python 3.8+,仅标准库依赖)
python -m unittest discover -s tests/perf -v
```
## 设计说明
- **合成数据集**:用固定随机种子(20260804)生成可重复的敏感/清洁样本池,
覆盖 PII(身份证 / 手机号 / 邮箱 / IP)、凭证(访问密钥 / 键值口令)、
工艺敏感词、安全指令(停机)等类别。
- **PII 格式保真**:模板中以 `{ip}` 占位的字段映射为合法 IPv4 第四段(0~255),
避免序号破坏 PII 格式导致规则漏匹配——压测验证的是 DLP 规则本身,而非数据生成。
- **规模与可重复**:采集压测用 30 轮 × 600 点位(PRD 5.1 基线点位规模),
在 CI 中可重复执行(< 30s);DLP/路由压测用千级样本保证统计显著性。