qdrant-search-speed-optimization
Corrige problemas de lentidão nas buscas e consultas realizadas no Qdrant.
O que ela faz
Esta ferramenta ajuda a identificar e corrigir problemas que deixam as buscas no Qdrant lentas. Ela analisa por que as buscas demoram mais do que deveriam e sugere ajustes para acelerar o processo.
Quando usar
- ✓Quando as buscas no seu banco de dados Qdrant estão demorando muito.
- ✓Se as consultas (pedidos de busca) levam tempo demais para retornar um resultado.
- ✓Após fazer mudanças na configuração ou adicionar muitos dados, e as buscas ficaram mais lentas.
Exemplo do que pedir para a IA
“Minhas buscas no Qdrant estão muito lentas, o que posso fazer?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta verifica se o problema é falta de memória, consultas muito complexas, processos rodando em segundo plano ou problemas no sistema. Com base nisso, ela sugere configurações ou ajustes específicos para melhorar a velocidade.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill qdrant-search-speed-optimizationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/qdrant-performance-optimization/search-speed-optimization/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Diagnostique um problema
Existem várias razões possíveis para a degradação do desempenho da busca. As mais comuns são:
- Pressão de memória: se o conjunto de trabalho exceder a RAM disponível
- Requisições complexas (por exemplo,
hnsw_efalta, filtros complexos sem índice de payload) - Processos em segundo plano competindo (por exemplo, otimizador ainda em execução após upload em massa)
- Problema com o cluster (por exemplo, problemas de rede, degradação de hardware)
Consulta Única Muito Lenta (Latência)
Use quando: consultas individuais levam muito tempo, independentemente da carga.
Passos de diagnóstico:
- Verifique se a segunda execução da mesma requisição é significativamente mais rápida (indica pressão de memória)
- Tente a mesma consulta com
with_payload: falseewith_vectors: falsepara ver se a recuperação de payload é o gargalo - Se a requisição usa filtros, tente removê-los um por um para identificar se uma condição de filtro específica é o gargalo
Correções comuns:
- Ajuste os parâmetros HNSW: Ajuste fino da busca
- Habilite a quantização em memória: Quantização escalar
- Reduza a Dimensionalidade do Vetor com Modelos Matryoshka: Modelos Matryoshka
- Use oversampling + rescore para vetores de alta dimensão Busca com quantização
- Habilite io_uring para cargas de trabalho intensivas em disco no Linux io_uring
Não Consegue Lidar com QPS Suficiente (Throughput)
Use quando: o sistema não consegue atender a consultas suficientes por segundo sob carga.
- Reduza a contagem de segmentos (
default_segment_numberpara 2) Maximizando o throughput - Use a API de busca em lote em vez de consultas únicas Busca em lote
- Habilite a quantização para reduzir o custo de CPU Quantização escalar
- Adicione réplicas para distribuir a carga de leitura Replicação
Busca Filtrada é Lenta
Use quando: a busca filtrada é significativamente mais lenta que a não filtrada. A reclamação mais comum do SA após a memória.
- Crie um índice de payload no campo filtrado Índice de payload
- Use
is_tenant=truepara a condição de filtro primária: Índice de tenant - Tente o algoritmo ACORN para filtros complexos: ACORN
- Evite usar condições de filtro
nestedcomo filtro primário. Isso pode forçar o qdrant a ler valores brutos de payload em vez de usar o índice. - Se o índice de payload foi adicionado após a construção do HNSW, acione um reindex para criar links de subgrafo filtráveis
Otimize o desempenho da busca com atualizações paralelas
Passos de diagnóstico
- Tente executar a mesma consulta com o parâmetro
indexed_only=true, se a consulta for significativamente mais rápida, isso significa que o otimizador ainda está em execução e ainda não indexou todos os segmentos. - Se o uso de CPU ou IO estiver alto mesmo sem consultas, isso também indica que o otimizador ainda está em execução.
Mudanças de configuração recomendadas
- reduza
optimizer_cpu_budgetpara reservar mais CPU para consultas - Use
prevent_unoptimized=truepara evitar a criação de segmentos com uma grande quantidade de dados não indexados para buscas. Em vez disso, uma vez que um segmento atinge o chamado "indexing_threshold", todos os pontos adicionais serão adicionados em "estado adiado".
Saiba mais aqui
O Que NÃO Fazer
- Defina
always_ram=falsena quantização (disk thrashing em cada busca) - Coloque HNSW em disco para produção sensível à latência (apenas para armazenamento frio)
- Aumente a contagem de segmentos para throughput (o oposto: menos = melhor)
- Crie índices de payload em todos os campos (desperdiça memória)
- Culpe o Qdrant antes de verificar o status do otimizador
Perguntas frequentes
Por que minhas buscas ficaram lentas de repente?
Isso pode acontecer por vários motivos, como o sistema estar com pouca memória, consultas muito complicadas, ou processos de otimização ainda em andamento após adicionar muitos dados.
O que é 'latência' e como isso afeta minhas buscas?
Latência é o tempo que uma busca leva para ser concluída. Latência alta significa que cada busca individual demora muito para dar um resultado.
O que é 'QPS' e por que ele pode estar baixo?
QPS significa 'Queries Per Second' (buscas por segundo). Um QPS baixo indica que o sistema não consegue processar muitas buscas em um curto período de tempo, mesmo que cada busca individual não seja tão lenta.
Detalhes
Descrição original do autor
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.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5305
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
clickhouse-io
Ajuda seu agente a otimizar consultas e esquemas no banco de dados ClickHouse. Ele aplica as melhores práticas para cargas de trabalho analíticas de alta performance. Use quando consultas analíticas demoram muito.
affaan-m/ECC
scientific-db-pubmed-database
Ajuda seu agente a buscar artigos científicos na área biomédica. É útil para pesquisas que precisam de informações médicas específicas.
affaan-m/ECC
scientific-db-uspto-database
Permite ao agente consultar dados oficiais de patentes e marcas registradas dos EUA. É útil para pesquisas de propriedade intelectual.
affaan-m/ECC