56 results available
Sign in
Skills directory

scaling-qps

github

·

Last changed
Hardened

This skill has been hardened by Chainguard

Last changed

This version passed the hardening gate. Hardening applied 2 targeted changes and preserved all other text. Classified findings before hardening: 0. Classified findings closed: 0. Classified findings remaining: 0. Unclassified scanner findings remaining: 0. Review findings closed: 3. Review findings remaining: 10.


Open before hardening

None

Open after hardening

None


Expand
File
Group
Subtype
Severity
Status

No findings available

0 findings


SKILL.md

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 throughput
  • Enable quantization with always_ram=true to reduce disk IO Quantization
  • Use 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_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+ Distributed deployment

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)

Install

Install with chainctl
chainctl skill install public/github/scaling-qps:latest
Get started with chainctl
View source

Harden your own skills

Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.

Provenance

Upstream sourcehttps://github.com/github/awesome-copilot
Upstream commit2201a49dd6f972ac4f685d03361d58c9c9206690
OCI reference

skills.chainreg.biz/public/github.com/github/skills/qdrant-scaling/scaling-qps:latest

License

MIT

Files

HARDENING.md

LICENSE

SKILL.md


The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.