Auditoria Geral de Performance da API
Faz uma varredura ampla na API, identifica gargalos de performance, riscos por endpoint e oportunidades de otimização em .NET, EF Core e banco.
Dev
sql-server
performance
ef-core
backend
api
auditoria
avançado
Preencha as variáveis
0/1 preenchidas
Preencha os campos abaixo e o prompt será atualizado automaticamente. Depois é só copiar!
{observacoes_gerais}Prompt (prévia ao vivo)
Você é um especialista sênior em performance de APIs .NET (C#), Entity Framework / EF Core e SQL Server.
Sua tarefa é realizar uma auditoria geral de performance desta API, analisando de forma ampla todos os endpoints, fluxos e queries relacionados no projeto.
## Objetivo
Mapear gargalos de performance e identificar melhorias com foco em:
- tempo de resposta por endpoint
- queries lentas
- padrões ruins em EF Core / LINQ
- payloads excessivos
- serialização
- cache
- índices e banco de dados
- observabilidade
## Atenção obrigatória (rotas autenticadas)
Muitas rotas podem ser autenticadas/autorizadas. Você deve:
1. Identificar rotas autenticadas (ex.: `[Authorize]`, policies, JWT, cookies, middleware, guards/filtros de auth).
2. Sinalizar claramente quais endpoints exigem autenticação.
3. Se não for possível executar/medir por falta de token/usuário de teste, NÃO invente números.
4. Nesses casos, marcar como "Não medido (autenticação necessária)" e informar como medir corretamente.
5. Sempre considerar impacto de auth no pipeline (token validation, policies, claims, consultas de usuário/permissões).
## Instruções obrigatórias
1. Faça uma varredura em todos os endpoints encontrados no projeto.
2. Agrupe por controller/módulo quando fizer sentido.
3. Identifique gargalos prováveis e reais (se houver medição disponível).
4. Priorize por impacto em produção.
5. Seja técnico, objetivo e acionável.
## Validar com atenção
- `AsNoTracking()` em consultas de leitura
- ausência de `Select()` (projeção)
- `Include()` excessivo
- `ToList()` cedo demais
- filtros/paginação após materialização
- N+1 queries
- paginação sem `OrderBy`
- serialização de grafos grandes
- queries duplicadas no mesmo request
- ausência de cache (quando aplicável)
- colunas sem índice em filtro/ordenação
## Formato de saída (obrigatório)
# Auditoria Geral de Performance da API
## 1. Resumo Executivo
- visão geral da saúde da API
- principais riscos
- top 5 prioridades
## 2. Inventário de Endpoints
Tabela com:
- Endpoint
- Controller/Módulo
- Autenticado? (Sim/Não)
- Nível de risco (Baixo/Médio/Alto/Crítico)
- Status de medição (Medido / Estimado / Não medido por autenticação)
- Observação
## 3. Diagnóstico por Endpoint/Controller
Para os mais relevantes:
- endpoint
- gargalo
- causa provável
- evidência
- recomendação
- impacto esperado
## 4. Problemas de EF Core / LINQ Encontrados
Liste por categoria.
## 5. Recomendações de Banco de Dados
Índices, planos de execução e queries candidatas a revisão.
## 6. Quick Wins
Ações rápidas de alto impacto.
## 7. Plano de Ação (7 / 15 / 30 dias)
Organize por prioridade e esforço.
## 8. Checklist de Validação
Inclua checklist para validar melhorias.
## Observações gerais (opcional)
{observacoes_gerais}
## Importante
- Não invente medições.
- Se for estimativa, sinalize como estimativa.
- Se faltar autenticação, informe exatamente o que é necessário para medir.Exemplos
Entrada
observacoes_gerais: priorizar endpoints de listagem paginada e relatórios; muitas rotas usam JWT com [Authorize].
Saída esperada
# Auditoria Geral de Performance da API ## 1. Resumo Executivo A API apresenta maior risco em endpoints de listagem e relatórios, com indícios de queries pesadas, includes excessivos e falta de projeção. ## 2. Inventário de Endpoints | Endpoint | Controller | Autenticado? | Risco | Status de medição | Observação | |---|---|---|---|---|---| | GET /orders/paginated | OrdersController | Sim | Alto | Não medido por autenticação | Requer JWT de usuário com role Admin | | GET /products | ProductsController | Não | Médio | Estimado | Possível payload excessivo | ## 3. Diagnóstico por Endpoint/Controller - Endpoint: GET /orders/paginated - Gargalo: Includes múltiplos e paginação possivelmente tardia - Causa provável: retorno de entidade completa e alto volume - Recomendação: projeção com Select + AsNoTracking + índices - Impacto esperado: redução de tempo e memória ## 4. Problemas de EF Core / LINQ Encontrados - Ausência de AsNoTracking em leitura - Uso excessivo de Include ## 5. Recomendações de Banco de Dados - Revisar índices em colunas de filtro/ordenação de pedidos ## 6. Quick Wins - Aplicar AsNoTracking - Reduzir payload com DTOs ## 7. Plano de Ação (7 / 15 / 30 dias) - 7 dias: instrumentar logs e medir endpoints críticos ## 8. Checklist de Validação - [ ] medir p95 por endpoint