qdrant-minimize-latency

--- Guides Qdrant query latency optimization. Utiliser quand quelqu'un demande « la recherche est lente », « comment réduire la latence », « p99 est trop élevé », « latence de queue », « une seule requête trop lente », « comment accélérer la recherche » ou « pics de latence ».

npx skills add https://github.com/qdrant/skills --skill qdrant-minimize-latency

Mise à l'échelle pour la latence des requêtes

La latence d'une seule requête est déterminée par le composant le plus lent du chemin d'exécution de la requête. Elle est parfois corrélée au débit, mais pas toujours — le débit et la latence sont des directions de réglage opposées.

L'optimisation pour une faible latence vise à utiliser la saturation maximale des ressources pour une seule requête, tandis que l'optimisation du débit vise à minimiser l'utilisation des ressources par requête pour permettre plus de requêtes en parallèle.

Réglage des performances pour une latence réduite

  • Augmentez le nombre de segments pour correspondre aux cœurs CPU (default_segment_number: 16) Minimisation de la latence
  • Conservez les vecteurs quantifiés et HNSW en RAM (always_ram=true)
  • Réduisez hnsw_ef au moment de la requête (échangez le rappel contre la vitesse) Paramètres de recherche
  • Utilisez NVMe local, évitez le stockage connecté au réseau

Pression mémoire et latence

La RAM est la ressource la plus critique pour la latence. Si l'ensemble de travail dépasse la RAM disponible, l'éviction du cache du système d'exploitation provoque une dégradation sévère et soutenue de la latence.

  • Augmentez verticalement la RAM en premier. Critique si l'ensemble de travail >80%.
  • Utilisez la quantification : scalaire (réduction 4x) ou binaire (réduction 16x) Quantification
  • Déplacez les index de charge utile sur le disque si le filtrage est peu fréquent Index de charge utile sur disque
  • Définissez optimizer_cpu_budget pour limiter les CPU d'optimisation en arrière-plan
  • Planifiez l'indexation : définissez un indexing_threshold élevé pendant les heures de pointe

Mise à l'échelle verticale pour la latence

Plus de RAM et un CPU plus rapide réduisent directement la latence. Consultez Mise à l'échelle verticale pour les directives de dimensionnement des nœuds.

Ce qu'il NE FAUT PAS faire

  • N'espérez pas optimiser simultanément la latence et le débit sur le même nœud
  • N'utilisez pas quelques grands segments pour les charges de travail sensibles à la latence (chaque segment prend plus de temps à rechercher)
  • N'exécutez pas à >90% de RAM (l'éviction du cache provoque une dégradation sévère de la latence qui peut durer des jours)
  • N'ignorez pas l'état de l'optimiseur lors du débogage des performances
  • N'réduisez pas la RAM sans test de charge (l'éviction du cache provoque des incidents de latence d'une durée de plusieurs jours)