skills/qdrant-performance-optimization/search-speed-optimization/SKILL.md
Diagnoses and fixes slow Qdrant search. Use when someone reports 'search is slow', 'high latency', 'queries take too long', 'low QPS', 'throughput too low', 'filtered search is slow', or 'search was fast but now it's slow'. Also use when search performance degrades after config changes or data growth.
npx skillsauth add williamlimasilva/.copilot qdrant-search-speed-optimizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
There the multiple possible reasons for search performance degradation. The most common ones are:
hnsw_ef, complex filters without payload index)Use when: individual queries take too long regardless of load.
with_payload: false and with_vectors: false to see if payload retrieval is the bottleneckUse when: system can't serve enough queries per second under load.
default_segment_number to 2) Maximizing throughputUse when: filtered search is significantly slower than unfiltered. Most common SA complaint after memory.
is_tenant=true for primary filtering condition: Tenant indexnested filtering conditions as a primary filter. It might force qdrant to read raw payload values instead of using index.indexed_only=true parameter, if the query is significantly faster, it means that the optimizer is still running and has not yet indexed all segments.optimizer_cpu_budget to reserve more CPU for queriesprevent_unoptimized=true to 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
always_ram=false on quantization (disk thrashing on every search)tools
Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.
development
Guide for setting up vcpkg in C++ projects, managing dependency versions, and cross-compiling. Covers manifest initialization, CMake and Visual Studio integration, classic-to-manifest migration, version pinning, baselines, overrides, triplets, and cross-compilation. Use when a user is working with vcpkg project setup, installation, version management, or cross-platform builds. For specialized tasks, additional references cover custom registries and overlay ports (references/registries.md), CI/CD and binary caching (references/ci.md), and troubleshooting and dependency lifecycle (references/troubleshooting.md).
testing
Emit structured agent signals — hands-up, blocked, done, checkpoint, partnership. Signals are written as JSON to .signals/ for dashboard consumption and noted in the journal for persistence.
development
Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, and Vue 2 applications. Use for package selection, minimal peer dependencies, CSS order, SSR boundaries, streaming mode, and renderer setup.