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