托管 Qdrant 集群月账单里 egress 流量费 120 美元,比存储费还高,业务查询 QPS 只有 5,返回结果里带了整段正文 payload。

一开始怀疑是「响应没有开压缩」,查了一圈,方向不对。

这类报错背后常见的原因有几处,逐个排除就行。每次查询都返回完整 payload。也可能是副本跨区同步产生额外流量。

少数情况下是客户端没有分页,一次拉几百条。

上来先查询只取 id 和分数,正文另外按需取

python -c "print('with_payload=False, with_vectors=False')"

随后对返回字段做白名单裁剪

python search.py --fields id,score --limit 10

接着开启 gzip 并确认响应头

curl -s -H 'Accept-Encoding: gzip' -D - https://qdrant.example.com/collections/kb/points/search -d @q.json

剩下的就是按天统计出口流量定位大查询

python usage_report.py --metric egress --group-by route

改之前先确认了最近有没有人动过配置,避免白查一遍。

别只看报错消失,验证要多做一步。同样查询下出口流量下降七成,账单里的 egress 项明显回落,业务返回内容不受影响。

补一句。向量库的计费项里流量常被忽略,payload 越大越明显,检索接口默认只回 id 和分数是个好习惯。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189