Files
lingniu-vehicle-ingest/vehicle-data-platform/docs/platform-performance-release-20260909.md
T

30 lines
3.3 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.
# 车辆平台性能修复验收(2026-09-09)
## 发布
- 正式版本:`platform-performance-202609091012`,北京时间2026-09-09 10:11:48确认就绪。
- 服务:`lingniu-vehicle-platform`;正式域名 https://vehicle.d.lnoneos.com/。
- 二进制SHA-256`3c3358a438e421e89fbe2a39f6b74869ab170a4aee9c04b321e0bc9c9807afe5`,候选与正式一致。
- 保留上一版`hydrogen-detail-20260904162007`。原前端资源沿用,发布兼容资源检查通过;无数据库迁移、索引变更或权限调整。
## 原因与修复
1. `/api/v2/monitor/workspace`每次地图刷新经由DashboardSummary执行完整运维概览,包括MySQL、TDengine、Redis及容量健康探测和其他用不到的统计。改为读取监控实际需要的当日活跃车数和原始帧数;车辆快照、地图、告警数及列表的原计算保留。监控不再依赖额外健康检查的耗时,但运维健康接口仍保留检查。
2. `/api/mileage/daily`在分页之前关联全历史里程与绑定、能源表;计数也执行不影响行数的能源关联。生产EXPLAIN估算154万行,修复后未过滤精确总数为1,617,910。改为先按原条件筛选和分页,再补充能源/车牌字段;仅绑定条件确实参与筛选时保留计数中的绑定关联。
3. 保留完整总数、授权VIN/有效日期限制、关键词、协议优先、去重、排序、分页及氢耗字段语义。不通过默认收窄日期或省略记录伪造提速。
## 测试与测量
- API模块`go test ./...``go test -race ./internal/platform``go vet ./internal/platform`、发布脚本自测及diff-check通过。
- 在生产机器127.0.0.1:20301隔离候选进程读取真实库,与原20300接口比较四组封闭历史查询的完整data:单日、近一个月第二页、去重、JT808/GB32960协议优先。全部记录、数量、总数和字段逐项一致。
- 同一监控参数:`limit=10000&zoom=5&bounds=82.483090,16.144931,128.317906,51.735158&railLimit=200`。原版本本机HTTP三轮631/569/581毫秒;候选102/97/98毫秒。
- 正式HTTPS三轮监控126/135/137毫秒;2026-09-01单日里程POST为24/22/22毫秒;2026-08-11至2026-09-08里程POST为163/155/157毫秒(每页20条)。所有请求200。
- 未筛选全历史GET:原版本正式接口5秒超时,直接查询超过8秒;正式新版本约1.18秒,完整总数1,617,910。它仍是秒级查询,不能将有日期窗口的验收数字用于全历史承诺。
- 鉴权session接口本机3毫秒、HTTPS16毫秒;初步主机负载和内存未见资源耗尽。已复现的慢点位于车辆平台查询和监控运维探测路径。
## 范围与证据
用户提供了监控完整URL和里程接口地址,未提供里程POST Payload。因此上述里程测量明确标注了测试日期窗口,尚不能等同于用户原始筛选条件。浏览器只到达登录页,未取得用户会话做界面操作验收;正式接口验证使用运行环境已有管理员诊断凭证,未新建账户或扩大权限,凭证不进入输出。
代码专项测试覆盖分页先于能源补全、完整计数移除无关关联、必要绑定筛选和参数映射,以及监控只读必要计数、不触发完整健康检查。隔离候选验收结束后停止。脱敏测量、SQL执行计划、比较探针、部署与SHA记录保存在`outputs/platform-perf-20260909/`