Back to Skills

qdrant-monitoring-debugging

qdrant
Updated 5 days ago
154
18
154
View on GitHub
Testinggeneral

About

This skill diagnoses Qdrant performance issues like slow indexing, high memory usage, and latency spikes by analyzing system metrics. It guides developers through checking optimizer status, memory consumption, and request patterns to identify root causes. Use it when production performance degrades or when specific error patterns like "optimizer stuck" or OOM crashes occur.

Quick Install

Claude Code

Recommended
Primary
npx skills add qdrant/skills -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/qdrant/skills
Git CloneAlternative
git clone https://github.com/qdrant/skills.git ~/.claude/skills/qdrant-monitoring-debugging

Copy and paste this command in Claude Code to install this skill

Documentation

How to Debug Qdrant with Metrics

First check optimizer status. Most production issues trace back to active optimizations competing for resources. If optimizer is clean, check memory, then request metrics.

Optimizer Stuck or Too Slow

Use when: optimizer running for hours, not finishing, or showing errors.

  • Use /collections/{collection_name}/optimizations endpoint (v1.17+) to check status Optimization monitoring
  • Query with optional detail flags: ?with=queued,completed,idle_segments
  • Returns: queued optimizations count, active optimizer type, involved segments, progress tracking
  • Web UI has an Optimizations tab with timeline view and per-task duration metrics Web UI
  • If optimizer_status shows an error in collection info, check logs for disk full or corrupted segments
  • Large merges and HNSW rebuilds legitimately take hours on big datasets. Check progress before assuming it's stuck.

Memory Seems Too High

Use when: memory exceeds expectations, node crashes with OOM, or memory keeps growing.

  • Process memory metrics available via /metrics (RSS, allocated bytes, page faults)
  • Qdrant uses two types of RAM: resident memory (data structures, quantized vectors) and OS page cache (cached disk reads). Page cache filling available RAM is normal. Memory article
  • If resident memory (RSSAnon) exceeds 80% of total RAM, investigate
  • Check /telemetry for per-collection breakdown of point counts and vector configurations
  • Estimate expected memory: num_vectors * dimensions * 4 bytes * 1.5 for vectors, plus payload and index overhead Capacity planning
  • Common causes of unexpected growth: quantized vectors with always_ram=true, too many payload indexes, large max_segment_size during optimization

Queries Are Slow

Use when: queries slower than expected and you need to identify the cause.

  • Track rest_responses_avg_duration_seconds and rest_responses_max_duration_seconds per endpoint
  • Use histogram metric rest_responses_duration_seconds (v1.8+) for percentile analysis in Grafana
  • Equivalent gRPC metrics with grpc_responses_ prefix
  • Check optimizer status first. Active optimizations compete for CPU and I/O, degrading search latency.
  • Check segment count via collection info. Too many unmerged segments after bulk upload causes slower search.
  • Compare filtered vs unfiltered query times. Large gap means missing payload index. Payload index

What NOT to Do

  • Ignore optimizer status when debugging slow queries (most common root cause)
  • Assume memory leak when page cache fills RAM (normal OS behavior)
  • Make config changes while optimizer is running (causes cascading re-optimizations)
  • Blame Qdrant before checking if bulk upload just finished (unmerged segments)

GitHub Repository

qdrant/skills
Path: skills/qdrant-monitoring/debugging
0
agent-skillsai-agentsclaude-codecodexcursorembeddings

Related Skills

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

cloudflare-cron-triggers

Testing

This skill provides comprehensive knowledge for implementing Cloudflare Cron Triggers to schedule Workers using cron expressions. It covers setting up periodic tasks, maintenance jobs, and automated workflows while handling common issues like invalid cron expressions and timezone problems. Developers can use it for configuring scheduled handlers, testing cron triggers, and integrating with Workflows and Green Compute.

View skill

webapp-testing

Testing

This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.

View skill

finishing-a-development-branch

Testing

This skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.

View skill