Benchmarks de Performance
Análise abrangente de performance e benchmarks do PivotPHP
O PivotPHP oferece performance excepcional através de arquitetura inteligente e otimizações. Nossos benchmarks abrangentes demonstram performance real em vários cenários.
Resumo Executivo
Performance por Tipo de Requisição
Nossos benchmarks testam três tipos de endpoints para representar cenários do mundo real:
Tipo de Requisição | Descrição | Throughput | Latência Média |
---|---|---|---|
Leve | Processamento mínimo, verificações de status | 8.673 req/s | 0,11ms |
Normal | Respostas API típicas com dados | 5.112 req/s | 0,20ms |
Pesada | Cálculos intensivos de CPU | 439 req/s | 2,28ms |
Performance de Concorrência
O PivotPHP mantém excelente performance sob vários níveis de carga concorrente:
Resultados de Teste de Carga
500 Requisições Concorrentes
API Simples | 7.686 req/s |
API de Dados | 3.384 req/s |
API POST | 2.608 req/s |
API de Computação | 5.864 req/s |
1.000 Requisições Concorrentes
API Simples | - |
API de Dados | 3.344 req/s |
API POST | 2.414 req/s |
API de Computação | 6.169 req/s |
1.500 Requisições Concorrentes
API Simples | 207 req/s |
API de Dados | 2.555 req/s |
API POST | 2.516 req/s |
API de Computação | 6.597 req/s |
Performance de Componentes
Componentes individuais do framework demonstram excelente eficiência:
🚀 Roteamento
⚡ Middleware
🔄 Pipeline
📦 JSON
Distribuição de Latência
O PivotPHP mantém latência baixa e consistente através dos percentis:
Tipo de Endpoint | P50 | P95 | P99 |
---|---|---|---|
Simples | 0,13ms | 0,22ms | 0,44ms |
Dados | 0,30ms | 0,47ms | 0,81ms |
POST | 0,40ms | 0,61ms | 2,38ms |
Computação | 0,15ms | 0,22ms | 0,42ms |
Comparação com Outros Frameworks
A performance do PivotPHP é competitiva com microframeworks estabelecidos:
Framework | Rota Simples | API JSON | Middleware | Memória |
---|---|---|---|---|
PivotPHP | 8.673 req/s | 3.384 req/s | 3.392 ops/s | 5,7MB |
Slim 4 | ~7.000 req/s | ~2.500 req/s | ~2.800 ops/s | 12MB |
Lumen | ~6.500 req/s | ~2.200 req/s | ~2.500 ops/s | 15MB |
Symfony | ~4.000 req/s | ~1.800 req/s | ~2.000 ops/s | 25MB |
Comportamento de Escala
O PivotPHP demonstra excelentes características de escala:
- Requisições Leves: -10,4% de degradação (500 → 1500 requisições)
- Requisições Normais: -19,3% de degradação (500 → 1500 requisições)
- Requisições Pesadas: +14,5% de melhoria (500 → 1500 requisições)
Performance no Mundo Real
Tempos de Resposta da API
// Endpoint leve - média de 0,11ms
$app->get('/status', fn($req, $res) => $res->json(['ok' => true]));
// Endpoint normal - média de 0,20ms
$app->get('/usuarios', function($req, $res) {
$usuarios = Usuario::paginate(10);
return $res->json($usuarios);
});
// Endpoint pesado - média de 2,28ms
$app->post('/analisar', function($req, $res) {
$resultado = CalculoComplexo::processar($req->body());
return $res->json($resultado);
});
Dicas de Otimização
1. Use Endpoints Apropriados
- Reserve processamento pesado para endpoints dedicados
- Implemente cache para operações computacionalmente caras
- Use respostas leves para verificações de saúde
2. Aproveite Middleware de Forma Eficiente
// Bom: Middleware condicional
$app->group('/api', function($app) {
$app->use(new RateLimitMiddleware());
$app->use(new AuthMiddleware());
// Rotas aqui
});
// Evite: Middleware pesado global
$app->use(new MiddlewareCaro()); // Aplicado a todas as rotas
3. Otimize Consultas ao Banco de Dados
// Use carregamento antecipado
$usuarios = Usuario::with('posts', 'comentarios')->get();
// Use query builder para consultas complexas
$estatisticas = DB::table('pedidos')
->select(DB::raw('DATE(created_at) as data'), DB::raw('SUM(total) as receita'))
->groupBy('data')
->get();
Metodologia de Benchmark
Todos os benchmarks foram conduzidos com:
- Ambiente: Containers Docker isolados
- Recursos: 2 CPUs, 1GB RAM por container
- Versão PHP: 8.4.8 com OPcache+JIT habilitado
- Aquecimento: 100-1000 iterações antes da medição
- Duração: 10+ segundos por teste
- Métricas: Throughput, percentis de latência, uso de memória
Execute Seus Próprios Benchmarks
Teste a performance do PivotPHP em seu ambiente:
# Clone a suite de benchmarks
git clone https://github.com/pivotphp/benchmarks.git
cd benchmarks
# Execute todos os benchmarks
make benchmark-all
# Execute benchmarks específicos do framework
make benchmark-pivotphp
# Gere relatórios
make report
Conclusão
O PivotPHP entrega:
- Latência ultra-baixa: Tempos de resposta abaixo de milissegundo
- Alto throughput: Até 8.673 requisições/segundo
- Eficiência de memória: Pegada consistente de 5,7MB
- Escala excelente: Mantém performance sob carga
Perfeito para APIs de alta performance, microserviços e aplicações em tempo real.