odoo-performance-tuner
Faz seu agente otimizar o desempenho do Odoo. Ele identifica e corrige lentidões no sistema e no banco de dados.
O que ela faz
Este agente ajuda a encontrar e corrigir problemas que deixam o Odoo lento. Ele analisa consultas lentas do banco de dados, configurações de memória e outras causas de lentidão.
Quando usar
- ✓Quando o Odoo está demorando para carregar as páginas.
- ✓Se você recebe erros de memória ou de tempo limite no sistema.
- ✓Para entender quais consultas no banco de dados estão lentas.
Exemplo do que pedir para a IA
“Meu Odoo está muito lento, pode me ajudar a descobrir o porquê?”
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
Você descreve o problema de lentidão e compartilha informações como mensagens de erro ou configurações. O agente analisa essas informações e sugere as mudanças necessárias para melhorar o desempenho.
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 sickn33/agentic-awesome-skills --skill odoo-performance-tunerOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/odoo-performance-tuner/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.
Odoo Performance Tuner
Visão Geral
Esta habilidade ajuda a diagnosticar e resolver problemas de desempenho do Odoo — desde carregamentos lentos de páginas e gargalos no banco de dados até má configuração de workers e inchaço de memória. Ela abrange o ajuste de consultas PostgreSQL, configurações de workers do Odoo e ferramentas de profiling integradas.
Quando Usar Esta Habilidade
- Odoo está lento em produção (carregamentos lentos de páginas, timeouts).
- Recebendo erros
MemoryErrorouWorker timeoutnos logs. - Diagnosticando uma consulta lenta no banco de dados usando o profiler do Odoo.
- Ajustando
odoo.confpara uma especificação de servidor específica.
Como Funciona
- Ativar: Mencione
@odoo-performance-tunere descreva seu problema de desempenho. - Diagnosticar: Compartilhe linhas de log ou configurações relevantes e receba uma análise da causa raiz.
- Corrigir: Obtenha alterações exatas de configuração com explicações.
Exemplos
Exemplo 1: Configuração Recomendada de Workers
# odoo.conf — tuned for a 4-core, 8GB RAM server
workers = 9 # (CPU_cores × 2) + 1 — never set to 0 in production
max_cron_threads = 2 # background cron jobs; keep ≤ 2 to preserve user-facing capacity
limit_memory_soft = 1610612736 # 1.5 GB — worker is recycled gracefully after this
limit_memory_hard = 2147483648 # 2.0 GB — worker is killed immediately; prevents OOM crashes
limit_time_cpu = 600 # max CPU seconds per request
limit_time_real = 1200 # max wall-clock seconds per request
limit_request = 8192 # max requests before worker recycles (prevents memory leaks)
Exemplo 2: Encontrar Consultas Lentas com PostgreSQL
-- Step 1: Enable pg_stat_statements extension (run once as postgres superuser)
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
-- Step 2: Also add to postgresql.conf and reload:
-- shared_preload_libraries = 'pg_stat_statements'
-- log_min_duration_statement = 1000 -- log queries taking > 1 second
-- Step 3: Find the top 10 slowest average queries
SELECT
LEFT(query, 100) AS query_snippet,
round(mean_exec_time::numeric, 2) AS avg_ms,
calls,
round(total_exec_time::numeric, 2) AS total_ms
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 10;
-- Step 4: Check for missing indexes causing full table scans
SELECT schemaname, tablename, attname, n_distinct, correlation
FROM pg_stats
WHERE tablename = 'sale_order_line'
AND correlation < 0.5 -- low correlation = poor index efficiency
ORDER BY n_distinct DESC;
Exemplo 3: Usar o Profiler Integrado do Odoo
Prerequisites: Run Odoo with ?debug=1 in the URL to enable debug mode.
Menu: Settings → Technical → Profiling
Steps:
1. Click "Enable Profiling" — set a duration (e.g., 60 seconds)
2. Navigate to and reproduce the slow action
3. Return to Settings → Technical → Profiling → View Results
What to look for:
- Total SQL queries > 100 on a single page → N+1 query problem
- Single queries taking > 100ms → missing DB index
- Same query repeated many times → missing cache, use @ormcache
- Python time high but SQL low → compute field inefficiency
Melhores Práticas
- ✅ Fazer: Usar
mapped(),filtered()esorted()em recordsets na memória — eles não disparam SQL adicional. - ✅ Fazer: Adicionar índices B-tree do PostgreSQL em colunas usadas frequentemente em filtros de domínio (
partner_id,state,date_order). - ✅ Fazer: Habilitar o cache HTTP do Odoo para ativos estáticos e colocar um CDN (Cloudflare, AWS CloudFront) na frente do site.
- ✅ Fazer: Usar o decorador
@tools.ormcacheem métodos chamados repetidamente com os mesmos argumentos. - ❌ Não Fazer: Configurar
workers = 0em produção — o modo single-threaded serializa todas as requisições e bloqueia todos os usuários em qualquer operação lenta. - ❌ Não Fazer: Ignorar
limit_memory_soft— workers que o excedem são reciclados entre as requisições; sem o limite, eles crescem ilimitadamente e travam. - ❌ Não Fazer: Manipular diretamente
prefetch_idsem recordsets — confie no pré-carregamento automático em lote do Odoo, que é ativado por padrão.
Limitações
- O ajuste do PostgreSQL (
shared_buffers,work_mem,effective_cache_size) é altamente específico do servidor e não é coberto em profundidade aqui — use PGTune como uma linha de base inicial. - O profiler integrado do Odoo captura apenas rastros de Python + SQL; o desempenho de renderização JavaScript requer as Ferramentas do Desenvolvedor do navegador.
- A hospedagem gerenciada Odoo.sh restringe o acesso direto ao PostgreSQL e a
odoo.conf— algumas opções de ajuste não estão disponíveis.
…
Perguntas frequentes
O que são 'workers' no Odoo?
Workers são processos que executam tarefas no Odoo. Ajustar o número deles e seus limites de memória é crucial para o desempenho.
Como o agente encontra consultas lentas?
Ele pode usar ferramentas do Odoo e do PostgreSQL para identificar quais comandos no banco de dados estão demorando mais que o esperado.
Posso usar isso se meu Odoo estiver hospedado no Odoo.sh?
Algumas configurações, como as do PostgreSQL diretamente ou do arquivo odoo.conf, podem não ser acessíveis no Odoo.sh.
Detalhes
Descrição original do autor
Expert guide for diagnosing and fixing Odoo performance issues: slow queries, worker configuration, memory limits, PostgreSQL tuning, and profiling tools.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3732
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC