Qdrant Search Speed Optimization
GitHubOfficialFirst committed by anush008Distributed by GitHub
- Skill
- Tool integration
- Software development
- MIT
- 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 troubleshooting Qdrant search performance, covering latency issues, throughput limitations, and filtered search inefficiencies. It helps developers identify whether performance degradation stems from memory pressure, background optimization tasks, or suboptimal configuration, offering actionable fixes ranging from index tuning to architectural adjustments.
What it does
- Diagnoses high latency in individual search queries.
- Identifies bottlenecks in filtered search operations.
- Provides strategies to improve system throughput and query-per-second capacity.
- Offers configuration recommendations for optimizing CPU and IO usage.
- Outlines common pitfalls to avoid during performance tuning.
When to use it
- When users report slow search responses or high latency.
- When the system fails to meet required throughput or QPS targets.
- When search performance degrades after data growth or configuration changes.
- When filtered searches are significantly slower than unfiltered ones.
Advantages
- Provides clear diagnostic steps for isolating performance bottlenecks.
- Offers specific configuration adjustments for common Qdrant issues.
- Helps distinguish between transient background processes and persistent configuration problems.
- Includes best practices for index management and resource allocation.
Usage examples
- “My Qdrant search latency is high, how do I check if it is memory pressure?”
- The agent will guide you to check if subsequent runs of the same query are faster and suggest evaluating payload retrieval impact.
- “Filtered searches in Qdrant are very slow, what should I do?”
- The agent will recommend creating payload indexes, using tenant indexing, or exploring the ACORN algorithm for complex filters.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/github/qdrant-search-speed-optimization/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip qdrant-search-speed-optimization.zip -d .agents/skills
Documentation by anush008
Diagnose a problem
There the multiple possible reasons for search performance degradation. The most common ones are:
Memory pressure: if the working set exceeds available RAM
Complex requests (e.g. high
hnsw_ef, complex filters without payload index)Competing background processes (e.g. optimizer still running after bulk upload)
Problem with the cluster (e.g. network issues, hardware degradation)
Single Query Too Slow (Latency)
Use when: individual queries take too long regardless of load.
Diagnostic steps:
Check if second run of the same request is significantly faster (indicates memory pressure)
Try the same query with
with_payload: falseandwith_vectors: falseto see if payload retrieval is the bottleneckIf request uses filters, try to remove them one by one to identify if a specific filter condition is the bottleneck
Common fixes:
Tune HNSW parameters: Fine-tuning search
Enable in-memory quantization: Scalar quantization
Reduce Vector Dimensionality with Matryoshka Models: Matryoshka Models
Use oversampling + rescore for high-dimensional vectors Search with quantization
Enable io_uring for disk-heavy workloads on Linux io_uring
Can't Handle Enough QPS (Throughput)
Use when: system can't serve enough queries per second under load.
Reduce segment count (
default_segment_numberto 2) Maximizing throughputUse batch search API instead of single queries Batch search
Enable quantization to reduce CPU cost Scalar quantization
Add replicas to distribute read load Replication
Filtered Search Is Slow
Use when: filtered search is significantly slower than unfiltered. Most common SA complaint after memory.
Create payload index on the filtered field Payload index
Use
is_tenant=truefor primary filtering condition: Tenant indexTry ACORN algorithm for complex filters: ACORN
Avoid using
nestedfiltering conditions as a primary filter. It might force qdrant to read raw payload values instead of using index.If payload index was added after HNSW build, trigger re-index to create filterable subgraph links
Optimize search performance with parallel updates
Diagnostic steps
Try to run the same query with
indexed_only=trueparameter, if the query is significantly faster, it means that the optimizer is still running and has not yet indexed all segments.If CPU or IO usage is high even with no queries, it also indicates that the optimizer is still running.
Recommended configuration changes
reduce
optimizer_cpu_budgetto reserve more CPU for queriesUse
prevent_unoptimized=trueto prevent creating segments with a large amount of unindexed data for searches. Instead, once a segment reaches the so called indexing_threshold, all additional points will be added in ‘deferred state’.
Learn more here
What NOT to Do
Set
always_ram=falseon quantization (disk thrashing on every search)Put HNSW on disk for latency-sensitive production (only for cold storage)
Increase segment count for throughput (opposite: fewer = better)
Create payload indexes on every field (wastes memory)
Blame Qdrant before checking optimizer status
Files
- ATTRIBUTION.mdAdded by AutoGineer922 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md4.6 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.
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-performance-optimization/search-speed-optimization · 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-search-speed-optimization.zip