mirror of
https://github.com/shy3130/tick-stock-panel.git
synced 2026-11-02 10:26:13 +00:00
33 lines
2.4 KiB
Markdown
33 lines
2.4 KiB
Markdown
# 后端数据获取与处理性能计划
|
|||
|
|
|
||
|
|
本计划只处理已排查到的四条链路。按相同环境、相同数据量对比修改前后耗时和内存;没有实测数据前不宣称整套回测或页面加速。每项单独验证、单独提交,保留数据口径、缓存失效和原子写语义。
|
||
|
|
|
||
|
|
## 1. 扩展数据拉取复用连接(本次实施)
|
||
|
|
|
||
|
|
- 场景:扩展表分页、历史回补和两级拉取会连续请求同一数据源。
|
||
|
|
- 问题:每次请求都新建 HTTP 客户端,重复建立连接。
|
||
|
|
- 改动:一次拉取任务内共用客户端,请求仍按各配置单独设置超时;任务结束、失败或取消时关闭。保留现有限流、重试、鉴权和两级拉取并发上限。
|
||
|
|
- 验证:模拟接口分别覆盖分页、按天回补、并发明细与失败关闭;对比请求数、客户端创建次数和耗时。真实网络收益需另行测量。
|
||
|
|
|
||
|
|
## 2. 扩展表按范围读取时减少无用数据(待测)
|
||
|
|
|
||
|
|
- 场景:按日期范围查询扩展数据明细或字段取值。
|
||
|
|
- 问题:先读取所有分区和列并合并,然后才过滤、选列、分页。
|
||
|
|
- 计划:先测分区数、读取耗时、峰值内存;若读取占主要时间,再将必要的过滤与选列提前,并只把返回页转为 Python 对象。
|
||
|
|
- 验证:跨分区字段缺失、日期列补全、排序、总数与分页结果须与现有实现一致。
|
||
|
|
|
||
|
|
## 3. 日 K 流式同步减少临时文件读写(待测)
|
||
|
|
|
||
|
|
- 场景:按批获取历史日 K,分日暂存后再写正式分区。
|
||
|
|
- 问题:临时文件写入后按日读回,再与正式分区合并写入。
|
||
|
|
- 计划:先分别记录下载、暂存、读回和合并耗时与文件数;只有落盘占比明显时才优化批量提交。
|
||
|
|
- 验证:部分批次失败不能破坏旧数据;原子写和并发更新语义不变。
|
||
|
|
|
||
|
|
## 4. 扩展表更新与历史计算减少全量重复工作(待测)
|
||
|
|
|
||
|
|
- 场景:扩展表频繁更新快照/当日分区,策略读取多日扩展因子。
|
||
|
|
- 问题:每次写入都读取并合并已有文件;缓存失效后历史因子逐分区加载完整表。
|
||
|
|
- 计划:先按更新频率、分区大小测写放大和读取峰值;再评估只读必要日期/字段或减少重复合并。
|
||
|
|
- 验证:同日去重、历史时点对齐、缓存失效和失败恢复不变。
|
||
|
|
|
||
|
|
现有 `market-data-performance-checklist.md` 是另一份未提交的工作文件,本计划不修改它。
|