Files
kefu/deploy/loading-performance-20260917/PROTOCOL_PERFORMANCE.md
T
2026-09-21 10:34:06 +08:00

34 lines
2.1 KiB
Markdown

# 本机协议检测性能验证
修改目录:`C:\wechat_rpa`。仅修改源码,未进行真实协议发送、进程注入或真实队列/配置操作。
## 改动
- 单次检测两次发现客户端时,共用只读构建哈希。复用键包含进程 ID、创建时间、程序路径及文件身份/大小/修改时间;下一轮检测不复用,无法取得进程创建时间不复用,真正发送始终重新完整校验。
- 前后两次发现客户端仍分别读取当前账号、服务和入口;消息库检查后的账号、进程、版本或构建变化仍阻止就绪。
- 复用同轮已读取的 PE 元数据和当前账号数据目录,去掉重复文件/目录读取。
- 协议环境检查仅准备当前账号的 `message.db`,继续验证当前账号消息表字段;实际协议回复初始化再加载该账号联系人/会话元数据。默认视觉多账号行为保持。
- 检测报告包含 `timingsMs` 和 `buildValidation`,便于区分进程、构建、消息库及末尾身份复核耗时。
## 合成数据基准
运行 `benchmark_protocol.py`,输出 `PROTOCOL_PERFORMANCE.json`。以下为组件中位耗时,不代表真实业务端到端耗时。
| 场景 | 优化前 | 优化后 |
|---|---:|---:|
| 64 MiB 合成程序,两次构建哈希校验(5 次测量) | 255.550 ms | 149.119 ms |
| 完整程序哈希次数 | 2 | 1 |
| 4 账号、24 库、6 万联系人,当前账号健康检测(3 次测量) | 1708.684 ms | 22.029 ms |
| 实际准备的数据库文件 | 24 | 1 |
| 健康检测加载的联系人数量 | 60000 | 0 |
## 回归
新增 `test_protocol_probe_performance`,覆盖下一轮重新校验、换 PID、PID 复用、程序变化、发送强制完整校验、当前账号变化、范围限制、消息表健康检查和默认全账号兼容。
- 性能、协议、构建、账号、消息库及历史协议解析:87 项通过。
- WAL、视觉数据库读取、时间戳、队列优先级及归档:54 项通过。
- `test_native_evidence` 更新了合成哈希模拟边界,写权限/首次发送验证断言保持。
源码备份:`C:\wechat_rpa\backups\loading-performance-20260917`。