SuperAPI AI 工具集

qdrant-scaling-qps

数据与分析

查看项目

更新于 10-16 08:48

技能介绍

用途:指导如何扩展 Qdrant 的查询吞吐量(QPS),即每秒处理更多并行查询。吞吐与延迟是相反的调优方向,同一节点无法同时优化,需先明确目标。

主要能力与调优手段:

  1. 段配置:高吞吐适合更少、更大的段(default_segment_number: 2),减少每次查询的开销。
  2. 量化:启用量化并设 always_ram=true,减少磁盘 IO。
  3. 批量搜索:使用 batch search API 摊薄每次查询开销。
  4. 控制更新负载:v1.17+ 可配置 update throughput control,防止未优化搜索拖累读取;用 optimizer_cpu_budget 限制索引 CPU(如 8 核节点设 2,保留 6 核给查询);v1.17+ 可配置 delayed read fan-out 以应对尾延迟。

水平扩展:单节点 CPU 饱和后,用读副本(shard replicas)横向扩展。副本从复制分片提供查询,将读负载分散到多节点,每个副本独立增加查询容量,无需重新分片;使用 replication_factor: 2+ 并把读路由到副本。

磁盘 IO 瓶颈:若无法把所有向量放入 RAM,磁盘 IO 可能成为瓶颈。可升级到 provisioned IOPS 或本地 NVMe;Linux(内核 5.11+)使用 io_uring;量化向量优先用全局重打分而非分段重打分以减少磁盘读;提高搜索线程数并行化磁盘读(默认 cpu_count - 1,适合内存搜索但对磁盘搜索可能偏低);仍饱和则水平扩展,每节点增加独立 IOPS。

禁止事项:不要期望同一节点同时优化吞吐与延迟;吞吐场景不要用大量小段;IOPS 受限时不要仅水平扩展而不升级磁盘层级;RAM 使用不要超过 90%(操作系统缓存驱逐会导致性能严重下降)。

限制:具体参数含义与版本行为请以 Qdrant 官方文档为准;本资料未提供价格、平台支持或效果承诺。