# Performance e lentidão

### Quando usar

* UI lenta para carregar listas e formulários.
* Timeouts em APIs.
* Lentidão só em um ambiente (ex: Prod).

### Checklist rápido (2 min)

1. Compare Dev vs Staging vs Prod.
2. Teste com um usuário “limpo” (sem muitos dados).
3. Isole: é UI, API, ou banco?

### Diagnóstico

#### 1) É client-side ou server-side?

* Client-side: CPU alta no browser, render pesado.
* Server-side: requests lentos no Network, time-to-first-byte alto.

#### 2) Dados e queries

* Listas sem paginação tendem a degradar rápido.
* Filtros e ordenações podem exigir índices.

#### 3) Integrações

* Chamadas para serviços externos travam a request principal?
* Timeouts estão configurados?

### Como resolver (padrões)

* **Listas lentas**: paginação, filtros obrigatórios, reduzir colunas.
* **API lenta**: revisar endpoints críticos e queries.
* **Banco**: índices, evitar N+1, revisar migrations recentes.

### Quando escalar

* SLA afetado em Staging/Prod.
* Degradação abrupta após release.
* Timeouts frequentes e repetíveis.

Antes de escalar, junte estas evidências. Isso reduz muito o ping-pong.

* Projeto e ambiente (Dev/Staging/Prod).
* Horário do erro (com timezone).
* Passos para reproduzir (curto e determinístico).
* Mensagem de erro completa (sem prints cortados).
* Screenshot da tela (se aplicável).
* Console do browser (erros e warnings relevantes).
* Aba **Network** (request que falhou + status + payload, se não houver dados sensíveis).

{% hint style="info" %}
Se existir um `requestId`, `traceId` ou link de execução, inclua também.
{% endhint %}
