托管 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 和分数是个好习惯。报错文案容易误导,真正的原因往往在相邻那一层的日志里。
