Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Guides Qdrant query throughput (QPS) scaling. Use when someone asks 'how to increase QPS', 'need more throughput', 'queries per second too low', 'batch search', 'read replicas', or 'how to handle more concurrent queries'.
.claude/skills/qdrant-qdrant-scaling-qps/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -22% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -33% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -42% | 0% |
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.
default_segment_number: 2) Maximizing throughputmemory: pinned on Qdrant 1.19 or newer, always_ram: true on 1.18 or older Quantizationoptimizer_cpu_budget to limit indexing CPUs (e.g. 2 on an 8-CPU node reserves 6 for queries)If a single node is saturated on CPU after applying the tuning above, scale horizontally with read replicas.
replication_factor: 2+ and route reads to replicas Distributed deploymentSee also Horizontal Scaling for general horizontal scaling guidance.
If it is not possible to keep all vectors in RAM, disk I/O can become the bottleneck for throughput. In this case:
io_uring on Linux (kernel 5.11+) io_uring articlecpu_count - 1, which is optimal for RAM-based search but may be too low for disk-based search. See configuration reference| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 17,104 | 8,669 | -49% | 1 | 1 | 0% | 2,666 | 1,957 | -27% | 0 | 0 | — |
case-01 | fail→pass | 21,312 | 15,022 | -30% | 1 | 1 | 0% | 3,473 | 3,039 | -12% | 0 | 0 | — |
case-02 | fail→pass | 21,875 | 11,491 | -47% | 1 | 1 | 0% | 3,625 | 2,838 | -22% | 0 | 0 | — |
case-03 | fail→pass | 20,275 | 14,863 | -27% | 1 | 1 | 0% | 3,289 | 2,878 | -12% | 0 | 0 | — |
case-05 | pass→pass | 16,448 | 3,707 | -77% | 1 | 1 | 0% | 2,613 | 1,384 | -47% | 0 | 0 | — |
case-06 | pass→pass | 7,704 | 3,024 | -61% | 1 | 1 | 0% | 1,460 | 1,309 | -10% | 0 | 0 | — |
case-07 | pass→pass | 15,037 | 4,960 | -67% | 1 | 1 | 0% | 2,139 | 1,633 | -24% | 0 | 0 | — |
case-08 | fail→pass | 12,927 | 3,401 | -74% | 1 | 1 | 0% | 2,092 | 1,409 | -33% | 0 | 0 | — |
case-23 | pass→pass | 16,190 | 14,804 | -9% | 1 | 1 | 0% | 2,778 | 3,194 | +15% | 0 | 0 | — |
case-09 | fail→fail | 22,267 | 7,324 | -67% | 1 | 1 | 0% | 3,555 | 1,908 | -46% | 0 | 0 | — |
case-10 | fail→pass | 18,431 | 5,535 | -70% | 1 | 1 | 0% | 3,054 | 1,784 | -42% | 0 | 0 | — |
case-11 | pass→pass | 17,855 | 6,426 | -64% | 1 | 1 | 0% | 2,163 | 1,781 | -18% | 0 | 0 | — |
case-12 | fail→pass | 7,717 | 2,725 | -65% | 1 | 1 | 0% | 1,231 | 1,274 | +3% | 0 | 0 | — |
case-13 | pass→pass | 7,797 | 3,398 | -56% | 1 | 1 | 0% | 1,275 | 1,276 | +0% | 0 | 0 | — |
case-14 | pass→pass | 12,393 | 6,800 | -45% | 1 | 1 | 0% | 2,073 | 1,791 | -14% | 0 | 0 | — |
case-15 | pass→pass | 16,223 | 9,100 | -44% | 1 | 1 | 0% | 2,629 | 1,972 | -25% | 0 | 0 | — |
case-16 | pass→pass | 17,593 | 6,134 | -65% | 1 | 1 | 0% | 2,335 | 1,987 | -15% | 0 | 0 | — |
case-17 | pass→pass | 25,352 | 10,508 | -59% | 1 | 1 | 0% | 3,352 | 2,355 | -30% | 0 | 0 | — |
case-18 | pass→pass | 13,185 | 8,354 | -37% | 1 | 1 | 0% | 2,293 | 1,964 | -14% | 0 | 0 | — |
case-19 | pass→pass | 15,824 | 4,241 | -73% | 1 | 1 | 0% | 2,169 | 1,584 | -27% | 0 | 0 | — |
case-20 | pass→pass | 20,774 | 14,985 | -28% | 1 | 1 | 0% | 3,045 | 3,134 | +3% | 0 | 0 | — |
case-21 | pass→pass | 23,637 | 13,772 | -42% | 1 | 1 | 0% | 3,370 | 3,199 | -5% | 0 | 0 | — |
case-22 | fail→pass | 21,729 | 15,440 | -29% | 1 | 1 | 0% | 3,070 | 3,430 | +12% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +30 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.