qdrant-vertical-scaling
关于
This skill provides guidance on vertically scaling Qdrant by upgrading node resources like RAM and CPU. It's triggered by queries about insufficient resources or scaling up nodes to avoid horizontal scaling complexity. The advice covers both Qdrant Cloud console adjustments and self-hosted VM/container resizing.
快速安装
Claude Code
推荐npx skills add qdrant/skills -a claude-code/plugin add https://github.com/qdrant/skillsgit clone https://github.com/qdrant/skills.git ~/.claude/skills/qdrant-vertical-scaling在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
What to Do When Qdrant Needs to Scale Vertically
Vertical scaling means increasing CPU, RAM, or disk on existing nodes rather than adding more nodes. This is the recommended first step before considering horizontal scaling. Vertical scaling is simpler, avoids distributed system complexity, and is reversible.
- Vertical scaling for Qdrant Cloud is done through the Qdrant Cloud Console
- For self-hosted deployments, resize the underlying VM or container resources
When to Scale Vertically
Use when: current node resources (RAM, CPU, disk) are insufficient, but the workload doesn't yet require distribution.
- RAM usage approaching 80% of available memory (OS page cache eviction starts, severe performance degradation)
- CPU saturation during query serving or indexing
- Disk space running low for on-disk vectors and payloads
- A single node can handle up to ~100M vectors depending on dimensions and quantization
- For non-production workloads, which are tolerant to single-point-of-failure and don't require high availability
How to Scale Vertically in Qdrant Cloud
Vertical scaling is managed through the Qdrant Cloud Console.
- Log into Qdrant Cloud Console or use CLI tool
- Select the cluster to resize
- Choose a larger node configuration (more RAM, CPU, or both)
- The upgrade process involves a rolling restart with no downtime if replication is configured
- Ensure
replication_factor: 2or higher before resizing to maintain availability during the rolling restart
Important: Scaling up is straightforward. Scaling down requires care -- if the working set no longer fits in RAM after downsizing, performance will degrade severely due to cache eviction. Always load test before scaling down.
RAM Sizing Guidelines
RAM is the most critical resource for Qdrant performance. Use these guidelines to right-size.
- Exact estimation of RAM usage is difficult; use this simple approximate formula:
num_vectors * dimensions * 4 bytes * 1.5for full-precision vectors in RAM - With scalar quantization: divide by 4 (INT8 reduces each float32 to 1 byte) Quantization
- With binary quantization: divide by 32 Binary quantization
- Add overhead for HNSW index (~20-30% of vector data), payload indexes, and WAL
- Reserve 20% headroom for optimizer operations and OS cache
- Monitor actual usage via Grafana/Prometheus before and after resizing Monitoring
When Vertical Scaling Is No Longer Enough
Recognize these signals that it's time to go horizontal:
- Data volume exceeds what a single node can hold even with quantization and mmap
- IOPS are saturated (more nodes = more independent disk I/O)
- Need fault tolerance (requires replication across nodes)
- Need tenant isolation via dedicated shards
- Single-node CPU is maxed and query latency is unacceptable
- Next vertical scaling step is the largest available node size. You might need to be able to temporarily scale up to the larger node size to do batch operations or recovery. If you are already at the largest node size, you won't be able to do that.
When you hit these limits, see Horizontal Scaling for guidance on sharding and node planning.
What NOT to Do
- Do not scale down RAM without load testing first (cache eviction = severe latency degradation that can last days)
- Do not ignore the 80% RAM threshold (performance cliff, not gradual degradation)
- Do not skip replication before resizing in Cloud (rolling restart without replicas = downtime)
- Do not jump to horizontal scaling before exhausting vertical options (adds permanent operational complexity)
- Do not assume more CPU always helps (IOPS-bound workloads won't improve with more cores)
GitHub 仓库
相关推荐技能
executing-plans
设计该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
requesting-code-review
设计该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
connect-mcp-server
设计这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
web-cli-teleport
设计该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
