=== 可行性评估(先实测再实现)=== topk 的 N 是否影响查询成本?5 分钟窗口实测: topk(10) 17833ms / 11 条 topk(30) 18019ms / 34 条 topk(50) 7394ms / 54 条 topk(100) 17553ms / 74 条 波动来自集群负载,与 N 无关 —— 扫描的 chunk 集合完全相同, topk 只决定最后返回多少序列。所以放宽到 50 不增加查询成本。 === 分页为什么不每页发一次查询 === 排行是"排序后的聚合结果":要拿第 11~20 名,必须先算出全部应用的量再排序, 不存在"只算 11~20 名"的做法。所以正确设计是: topk(N) 一次取全 → 前端按 10/页切片 N=50 时 5 页,只查 1 次;每页点一次查询反而会重复扫同一批 chunk,纯浪费。 === 实现 === - hook 参数 rankLimit(10/30/50),两条查询都包 topk(N) - 分析页:显示条数按钮组,点击即触发查询(同时重置到第 1 页) - 分页条:共 N 个应用 · 第 x/y 页 · 上一页/下一页 - 长范围走预聚合时,limit 也跟随 N(接口上限 100) - 切换筛选(刷新)时重置到第 1 页 Pod = Hub latest = 4d4e1a7ec334