Benchmarks de Performance

Análise abrangente de performance e benchmarks do PivotPHP

Performance in Every Strand

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

8.673
requisições/segundo
Throughput máximo
0,11ms
latência média
Endpoints leves
5,7MB
uso de memória
Pegada consistente

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

4.785 ops/seg
Resolução de rotas simples

⚡ Middleware

3.392 ops/seg
Execução de middleware único

🔄 Pipeline

4.482 ops/seg
10 camadas de middleware

📦 JSON

519 ops/seg
Processamento 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.