SuperAPI AI 工具集

qdrant-memory-usage-optimization

通用与其它

查看项目

更新于 10-16 08:48

技能介绍

用途:诊断并减少 Qdrant 的内存占用,适用于报告内存过高、RAM 持续增长、节点崩溃、内存不足、内存泄漏等场景。

内存类型:Qdrant 使用常驻内存(RSSAnon,含 ID 跟踪器等内部结构、always_ram=true 的量化向量和 payload 索引)与 OS 页缓存(缓存磁盘读取,可释放)。原始向量通常存于页缓存,RAM 满时不致崩溃但性能可能下降。页缓存占满可用 RAM 属正常,常驻内存超过总 RAM 的 80% 则为问题信号。

监控:Qdrant 通过 /metrics 端点暴露内存使用情况。

容量规划:常规搜索场景参考 Capacity planning 文档;大规模内存占用明细参考 Large scale memory usage example。payload 索引与 HNSW 图也占内存,需计入。优化时已优化段会完整载入 RAM,故需留足余量,max_segment_size 越大所需余量越多。

何时将 HNSW 索引放磁盘:常放磁盘可能显著降低性能;但低延迟磁盘(本地 NVMe 等)、多租户(仅部分租户频繁访问)、启用 inline storage 的部署可考虑。

降低内存占用的主要方法:用量化仅将压缩向量存 RAM;用 float16 或 int8 分别将向量内存减少 2 倍或 4 倍(精度有折损);用 MRL 仅将小向量存 RAM、大向量留在磁盘;小租户多租户部署可将向量存磁盘;快速本地存储且吞吐要求不高时可将向量存储全部组件放磁盘;低 RAM 环境可考虑 async_scorer(io_uring,仅 Linux 5.11+)提升磁盘存储性能;稀疏向量与文本 payload 通常更适合放磁盘;可将 payload 索引配置为存磁盘;可将稀疏向量配置为存磁盘。

限制:以上为公开资料要点,具体配置项参数与完整步骤暂未提供。