技能 硬件工程 Qdrant查询高吞吐量扩展指南

Qdrant查询高吞吐量扩展指南

v20260420
qdrant-scaling-qps
本指南提供了关于优化和扩展Qdrant向量数据库查询吞吐量(QPS)的全面高级策略。内容涵盖了从内部性能调优(如优化分段、使用量化和批处理搜索)到系统架构扩展(如增加只读副本、处理磁盘IO瓶颈)的全方位指导,适用于构建高并发、大规模检索系统。
获取技能
215 次下载
概览

Scaling for Query Throughput (QPS)

Throughput scaling means handling more parallel queries per second. This is different from latency - throughput and latency are opposite tuning directions and cannot be optimized simultaneously on the same node.

High throughput favors fewer, larger segments so each query touches less overhead.

Performance Tuning for Higher RPS

Minimize impact of Update Workloads

  • Configure update throughput control (v1.17+) to prevent unoptimized searches degrading reads Low latency search
  • Set optimizer_cpu_budget to limit indexing CPUs (e.g. 2 on an 8-CPU node reserves 6 for queries)
  • Configure delayed read fan-out (v1.17+) for tail latency Delayed fan-outs

Horizontal Scaling for Throughput

If a single node is saturated on CPU after applying the tuning above, scale horizontally with read replicas.

  • Shard replicas serve queries from replicated shards, distributing read load across nodes
  • Each replica adds independent query capacity without re-sharding
  • Use replication_factor: 2+ and route reads to replicas Distributed deployment

See also Horizontal Scaling for general horizontal scaling guidance.

Disk I/O Bottlenecks

If it is not possible to keep all vectors in RAM, disk I/O can become the bottleneck for throughput. In this case:

  • Upgrade to provisioned IOPS or local NVMe first. See impact of disk performance to vector search in Disk performance article
  • Use io_uring on Linux (kernel 5.11+) io_uring article
  • In case of quantized vectors, prefer global rescoring over per-segment rescoring to reduce disk reads. Example in the tutorial
  • Configure higher number of search threads to parallelize disk reads. Default is cpu_count - 1, which is optimal for RAM-based search but may be too low for disk-based search. See configuration reference
  • If still saturated, scale out horizontally (each node adds independent IOPS)

What NOT to Do

  • Do not expect to optimize throughput and latency simultaneously on the same node
  • Do not use many small segments for throughput workloads (increases per-query overhead)
  • Do not scale horizontally when IOPS-bound without also upgrading disk tier
  • Do not run at >90% RAM (OS cache eviction = severe performance degradation)
信息
Category 硬件工程
Name qdrant-scaling-qps
版本 v20260420
大小 3.52KB
更新时间 2026-04-28
语言