Qdrant Horizontal Scaling
QdrantOfficialPublished by Qdrant
- Skill
- Tool integration
- Data and AI
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured approach to scaling Qdrant deployments, helping users decide between vertical and horizontal scaling. It covers essential distributed configuration patterns, such as optimal shard counts and replication factors, while providing specific operational advice for both Qdrant Cloud and self-hosted environments. The guide emphasizes best practices for maintaining cluster health, avoiding common pitfalls during resharding, and ensuring fault tolerance.
What it does
- Helps determine when to transition from vertical to horizontal scaling.
- Provides configuration recommendations for shard counts and replication factors.
- Explains the differences in scaling operations between Qdrant Cloud and self-hosted setups.
- Outlines safe procedures for modifying cluster topology and replication settings.
- Identifies common anti-patterns that lead to performance degradation or cluster instability.
When to use it
- When your data volume exceeds the capacity of a single node.
- When you need to improve fault tolerance or achieve zero-downtime maintenance.
- When planning the initial distributed architecture for a new Qdrant cluster.
- When you need to adjust replication factors or rebalance shards in an existing cluster.
- When you are unsure if your current performance issues require more nodes or better resource allocation.
Advantages
- Prevents common operational errors like manual replica interference on Qdrant Cloud.
- Promotes efficient resource usage by encouraging vertical scaling before horizontal complexity.
- Provides clear, actionable rules for maintaining cluster consensus and data availability.
- Reduces the risk of performance incidents caused by improper shard distribution.
Usage examples
- “Should I scale my Qdrant cluster horizontally or vertically?”
- The agent will guide you to evaluate if your current node is hitting memory or IOPS limits, recommending vertical scaling first for simplicity unless you specifically require fault tolerance or tenant isolation.
- “How do I change the replication factor on my Qdrant Cloud cluster?”
- The agent will instruct you to update the collection configuration directly and warn you against using manual cluster APIs, which would conflict with the platform's automated management.
- “How many shards should I configure for a 4-node cluster?”
- The agent will recommend a shard count between 6 and 12 to ensure an even distribution across nodes while balancing the overhead of managing multiple shards.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/qdrant/qdrant-horizontal-scaling/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip qdrant-horizontal-scaling.zip -d .agents/skills
Documentation by Qdrant
What to Do When Qdrant Needs More Capacity
Vertical first: simpler operations, no network overhead, good up to ~100M vectors per node depending on dimensions and quantization. Horizontal when: data exceeds single node capacity, need fault tolerance, need to isolate tenants, or IOPS-bound (more nodes = more independent IOPS).
Most basic distributed configuration
3 nodes with
replication_factor: 2for zero-downtime scaling, and at least 2 shards per node (6 shards) so you can add nodes later without resharding Sharding
Minimum of 3 nodes is important for consensus and fault tolerance. With 3 nodes, you can lose 1 node without downtime. With 2 nodes, losing 1 node causes downtime for collection operations.
Replication factor of 2 means each shard has 1 replica, so you have 2 copies of data. This allows for zero-downtime scaling and maintenance. With replication_factor: 1, zero-downtime is not guaranteed even for point-level operations, and cluster maintenance requires downtime.
Changing replication factor
Use when: raising or lowering replication_factor on an existing collection, or removing extra replicas.
On Qdrant Cloud, update
replication_factorin the collection config and stop. The Cloud platform automatically adds or drops replicas to match, and lowering it from 3 to 2 converges to 2 replicas per shard within about a minute. Do not also drop or create replicas yourself with the cluster API (drop_replica,replicate_shard,move_shard): your calls race with the operation of the Cloud platform and can remove more replicas than intended ReplicationVerify with read-only calls:
GET /collections/{name}for the configured factor andGET /collections/{name}/clusterfor the replicas per shard. If the count hasn't converged yet, wait and re-check rather than intervening.On self-hosted, changing
replication_factoron an existing collection does not add or remove replicas, it only sets the target. Adding or dropping replicas is a manual step with the shard APIs ReplicationOn self-hosted, make shard changes one at a time and re-check
GET /collections/{name}/clusterbetween them. Never drop a replica if it would leave a shard with no healthy copy.
Choosing number of shards
Shards are the unit of data distribution. More shards allows more nodes and better distribution, but adds overhead. Fewer shards reduces overhead but limits horizontal scaling.
For cluster of 3-6 nodes the recommended shard count is 6-12. This allows for 2-4 shards per node, which balances distribution and overhead.
Changing number of shards
Use when: shard count isn't evenly divisible by node count, causing uneven distribution, or need to rebalance.
Resharding is expensive and time-consuming, so use it as a last resort if regular data distribution is not possible. The collection stays available during resharding, with slightly reduced performance, but a lot of data moves between nodes Resharding.
Available in Qdrant Cloud Resharding
Resharding is not available for self-hosted deployments.
Better alternatives: over-provision shards initially, or spin up new cluster with correct config and migrate data.
What NOT to Do
Do not jump to horizontal before exhausting vertical (adds complexity for no gain)
Do not set
shard_numberthat isn't a multiple of node count (uneven distribution)Do not use
replication_factor: 1in production if you need fault toleranceDo not drop or move replicas by hand on Qdrant Cloud after changing
replication_factor; the Cloud platform does it, and manual calls race with itDo not add nodes to a self-hosted cluster without rebalancing shards (use the shard move API to redistribute); Qdrant Cloud rebalances shards automatically Cluster scaling
Do not scale down RAM without load testing (cache eviction causes days-long latency incidents)
Do not hit the collection limit by using one collection per tenant (use payload partitioning)
Files
- ATTRIBUTION.mdAdded by AutoGineer890 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md4.8 KiB
SKILL.md
What to Do When Qdrant Needs More Capacity
Vertical first: simpler operations, no network overhead, good up to ~100M vectors per node depending on dimensions and quantization. Horizontal when: data exceeds single node capacity, need fault tolerance, need to isolate tenants, or IOPS-bound (more nodes = more independent IOPS).
Most basic distributed configuration
3 nodes with
replication_factor: 2for zero-downtime scaling, and at least 2 shards per node (6 shards) so you can add nodes later without resharding Sharding
Minimum of 3 nodes is important for consensus and fault tolerance. With 3 nodes, you can lose 1 node without downtime. With 2 nodes, losing 1 node causes downtime for collection operations.
Replication factor of 2 means each shard has 1 replica, so you have 2 copies of data. This allows for zero-downtime scaling and maintenance. With replication_factor: 1, zero-downtime is not guaranteed even for point-level operations, and cluster maintenance requires downtime.
Changing replication factor
Use when: raising or lowering replication_factor on an existing collection, or removing extra replicas.
On Qdrant Cloud, update
replication_factorin the collection config and stop. The Cloud platform automatically adds or drops replicas to match, and lowering it from 3 to 2 converges to 2 replicas per shard within about a minute. Do not also drop or create replicas yourself with the cluster API (drop_replica,replicate_shard,move_shard): your calls race with the operation of the Cloud platform and can remove more replicas than intended ReplicationVerify with read-only calls:
GET /collections/{name}for the configured factor andGET /collections/{name}/clusterfor the replicas per shard. If the count hasn't converged yet, wait and re-check rather than intervening.On self-hosted, changing
replication_factoron an existing collection does not add or remove replicas, it only sets the target. Adding or dropping replicas is a manual step with the shard APIs ReplicationOn self-hosted, make shard changes one at a time and re-check
GET /collections/{name}/clusterbetween them. Never drop a replica if it would leave a shard with no healthy copy.
Choosing number of shards
Shards are the unit of data distribution. More shards allows more nodes and better distribution, but adds overhead. Fewer shards reduces overhead but limits horizontal scaling.
For cluster of 3-6 nodes the recommended shard count is 6-12. This allows for 2-4 shards per node, which balances distribution and overhead.
Changing number of shards
Use when: shard count isn't evenly divisible by node count, causing uneven distribution, or need to rebalance.
Resharding is expensive and time-consuming, so use it as a last resort if regular data distribution is not possible. The collection stays available during resharding, with slightly reduced performance, but a lot of data moves between nodes Resharding.
Available in Qdrant Cloud Resharding
Resharding is not available for self-hosted deployments.
Better alternatives: over-provision shards initially, or spin up new cluster with correct config and migrate data.
What NOT to Do
Do not jump to horizontal before exhausting vertical (adds complexity for no gain)
Do not set
shard_numberthat isn't a multiple of node count (uneven distribution)Do not use
replication_factor: 1in production if you need fault toleranceDo not drop or move replicas by hand on Qdrant Cloud after changing
replication_factor; the Cloud platform does it, and manual calls race with itDo not add nodes to a self-hosted cluster without rebalancing shards (use the shard move API to redistribute); Qdrant Cloud rebalances shards automatically Cluster scaling
Do not scale down RAM without load testing (cache eviction causes days-long latency incidents)
Do not hit the collection limit by using one collection per tenant (use payload partitioning)
Requirements and compatibility
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
- Published by
- Qdrant
- Publisher
- Qdrant (Official)
- Source
- qdrant/skills · skills/qdrant-scaling/scaling-data-volume/horizontal-scaling · commit 9f55f6a
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Qdrant or Qdrant.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download qdrant-horizontal-scaling.zip