Qdrant Scaling Qps
GitHubOfficialFirst committed by anush008Distributed by GitHub
- Skill
- Tool integration
- Data and AI
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides best practices and configuration strategies for scaling query throughput (QPS) in Qdrant. It distinguishes between throughput and latency optimization, offering specific tuning parameters for segment management, quantization, update workload isolation, and horizontal scaling via read replicas. It also addresses hardware-level bottlenecks, specifically disk I/O, and provides guidance on common pitfalls to avoid when scaling search performance.
What it does
- Explains how to tune segment configuration to maximize query throughput.
- Provides strategies for isolating update workloads from search traffic.
- Details how to implement horizontal scaling using read replicas.
- Offers guidance on mitigating disk I/O bottlenecks for non-RAM-resident data.
- Lists common anti-patterns that degrade search performance.
- Recommends specific configuration settings for CPU and thread management.
When to use it
- When you need to increase the number of concurrent queries per second (QPS).
- When your current Qdrant node is saturated and you need to scale horizontally.
- When search performance is degraded by heavy indexing or update workloads.
- When disk I/O is identified as a bottleneck for your vector search operations.
Advantages
- Helps balance resource allocation between indexing and searching.
- Provides actionable configuration changes to improve system capacity.
- Clarifies the trade-offs between latency and throughput optimization.
- Offers clear guidance on when to scale vertically versus horizontally.
Usage examples
- “How can I increase the QPS for my Qdrant cluster?”
- The agent will provide a checklist including segment optimization, enabling quantization, and configuring read replicas to distribute load.
- “My Qdrant search is slow because of heavy updates. What should I do?”
- The agent will suggest configuring update throughput control and adjusting the optimizer CPU budget to prioritize search performance.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/github/qdrant-scaling-qps/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip qdrant-scaling-qps.zip -d .agents/skills
Documentation by anush008
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
Use fewer, larger segments (
default_segment_number: 2) Maximizing throughputEnable quantization with
always_ram=trueto reduce disk IO QuantizationUse batch search API to amortize overhead Batch search
Minimize impact of Update Workloads
Configure update throughput control (v1.17+) to prevent unoptimized searches degrading reads Low latency search
Set
optimizer_cpu_budgetto limit indexing CPUs (e.g.2on 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_uringon Linux (kernel 5.11+) io_uring articleIn 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 referenceIf 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)
Files
- ATTRIBUTION.mdAdded by AutoGineer877 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md3.5 KiB
Requirements and compatibility
Written for: GitHub Copilot
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- First committed by
anush008
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · skills/qdrant-scaling/scaling-qps · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- anush008
AutoGineer is not affiliated with or endorsed by anush008 or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download qdrant-scaling-qps.zip