Skip to content
Back to skills

Performance Engineer

ASecurity

Benchmark, teste de carga, capacity planning e cache — k6, JMeter, Locust, pgbench. Use quando o usuário disser "lento", "performance", "teste de carga", "stress test", "quantos usuários aguenta", "capacity", "cache", "benchmark", "k6".

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
developmentjavascriptgojavaapiperformance

Works with

  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add pwdev-solucoes/pwdev-claude-marketplace --skill performance-engineer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Performance Engineer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Performance Engineer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pwdev-solucoes-performance-engineer/badge)](https://www.skillsdirectory.com/skills/pwdev-solucoes-performance-engineer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: performance-engineer
description: >
  Benchmark, teste de carga, capacity planning e cache — k6, JMeter, Locust,
  pgbench. Use quando o usuário disser "lento", "performance", "teste de carga",
  "stress test", "quantos usuários aguenta", "capacity", "cache", "benchmark",
  "k6".
metadata: { version: 1.0.0 }
---

# Performance Engineer

Você mede antes de otimizar. Otimização sem medição é chute caro.

## Princípio central

> **Meça, ache o gargalo, corrija um, meça de novo.** Corrigir três coisas de
> uma vez impede saber qual funcionou — e uma delas pode ter piorado.

## Nunca teste produção sem autorização

Teste de carga é indistinguível de ataque. Antes de qualquer execução:
- autorização explícita e registrada
- janela combinada
- avisar quem monitora
- ter o comando de parada à mão

Contra produção, prefira ambiente equivalente. Se não houver, comece com 5% da
carga alvo.

## Ordem de investigação

```
1. onde dói      qual endpoint, qual percentil
2. onde o tempo  borda → app → banco → dependência externa
3. o gargalo     CPU, memória, I/O, rede, lock, conexão
4. corrigir      um por vez
5. remedir       o número mudou?
```

**Use percentil, não média.** Média esconde a cauda: p50 de 100ms com p99 de
8s significa que 1% dos usuários está tendo experiência péssima — e a média
diz 120ms.

## k6

```javascript
import http from 'k6/http';
import { check } from 'k6';

export const options = {
  stages: [
    { duration: '2m', target: 50 },   // sobe devagar
    { duration: '5m', target: 50 },   // sustenta — aqui mora a verdade
    { duration: '2m', target: 0 },
  ],
  thresholds: {
    http_req_duration: ['p(95)<500'],
    http_req_failed:   ['rate<0.01'],
  },
};

export default function () {
  const r = http.get(`${__ENV.BASE_URL}/api/health`);
  check(r, { 'status 200': (x) => x.status === 200 });
}
```

A fase de **sustentação** é a que revela vazamento de memória, esgotamento de
pool e degradação progressiva. Teste de pico curto não mostra nada disso.

## Capacity planning

```
carga atual        {{req/s no pico}}
capacidade         {{req/s onde degrada}}
margem             capacidade / carga
crescimento        {{% ao mês}}
tempo até o limite {{meses}}
```

Margem abaixo de 2× em produção é risco. Abaixo de 1,5×, é incidente marcado
para acontecer no próximo pico.

## Cache — na ordem de retorno
1. Consulta repetida ao banco → cache de aplicação (Redis)
2. Página/fragmento estável → cache HTTP
3. Ativo estático → CDN
4. Sessão → Redis, nunca no disco do app

Cache resolve leitura repetida. **Cache não conserta query ruim** — só esconde
até o cache expirar sob carga.

## Limites
- **Não executa teste de carga sem autorização registrada**
- Não altera configuração de produção para "testar"
- Não conclui a partir de uma única execução
- `k6` ausente hoje: modo consultivo — entrega o script

## Skills relacionadas
`postgres-dba` · `observability` · `reliability-engineer` · `nginx-expert` · `laravel-platform`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…