qdrant-indexing-performance-optimization

Diagnoses and fixes slow Qdrant indexing, ingestion, and HNSW build performance.

3|1|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/PALabs-v1/AI_friend --skill qdrant-indexing-performance-optimization-palabs-v1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: qdrant-indexing-performance-optimization
Source: https://github.com/PALabs-v1/AI_friend/tree/main/.claude/skills/qdrant-performance-optimization/indexing-performance-optimization
Command: npx skills add https://github.com/PALabs-v1/AI_friend --skill qdrant-indexing-performance-optimization-palabs-v1

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Slow uploads, stuck optimizers, and long HNSW build times in Qdrant vector databases are often misdiagnosed as bugs when they are actually configuration issues. This Skill provides targeted guidance to identify bottlenecks and apply the correct indexing and ingestion optimizations. ## Core Features & Use Cases - Ingestion Optimization: Speeds up slow uploads with batch upserts (64-256 points), parallel streams, sharding, and bulk-load strategies like temporarily raising indexing_threshold_kb. - Optimizer & HNSW Tuning: Diagnoses stuck optimizers, reduces HNSW build time by tuning m, ef_construct, and max_indexing_threads, and supports GPU-based indexing. - Multi-tenant & Payload Index Guidance: Explains how to skip global HNSW builds for multi-tenant collections and disable extra HNSW links on heavy payload indexes using ACORN. - Use Case: A team bulk-loading millions of vectors finds indexing takes hours; this Skill guides them to disable HNSW during load, create payload indexes first, and restore settings afterward. ## Quick Start Ask the AI to diagnose why Qdrant uploads are slow and recommend indexing configuration changes for your collection.

Frequently Asked Questions about qdrant-indexing-performance-optimization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I speed up slow Qdrant uploads?

Speed up Qdrant uploads by using batch upserts of 64-256 points per request and 2-4 parallel upload streams. Server-side, increase shard count (3-12) for independent update workers and create payload indexes before HNSW builds.

Why is Qdrant search slow right after uploading data?

Qdrant does not build HNSW indexes immediately; small segments use brute-force search until they exceed indexing_threshold_kb (default 20 MB). This slower search window is by design, not a bug, and resolves once the optimizer builds the index.

How do I reduce HNSW build time in Qdrant?

Reduce HNSW build time by lowering m (default 16 is sufficient for most cases), reducing ef_construct to 100-200, and keeping max_indexing_threads proportional to CPU cores. GPU indexing is also supported for faster builds.

Should I use m=0 to disable HNSW during bulk uploads?

No, setting m=0 is legacy and can drop an existing HNSW index, causing long reindexing. Instead, set indexing_threshold_kb very high during bulk load and restore it afterward so the optimizer builds the index once loading completes.

How do I optimize Qdrant indexing for multi-tenant collections?

For multi-tenant collections split by a payload field like tenant_id, use payload_m to build HNSW indexes only per tenant subset instead of a global index. Skipping the global HNSW index significantly reduces total indexing time.

Why is my Qdrant optimizer stuck or running for hours?

Large merges and HNSW rebuilds legitimately take hours on big datasets. Check progress via the optimizations endpoint (v1.17+), monitor CPU and disk I/O since HDDs are not viable, and inspect logs if optimizer_status shows errors like disk full.