Detalhes do benchmark

RPC de páginas com cache · campanha iniciada em 2026-10-17 UTC

Resultados

Requisições bem-sucedidas/s
7496 (intervalo 7033–7683)
Memória da API
32.8 MiB PSS
Tempo de CPU da API/requisição
120 µs
Mediana das latências p95 / p99 dos testes
5.10 / 6.38 ms

Carga de trabalho e ambiente

Apple M1 Pro com macOS, uma VM Linux ARM64 Colima com oito vCPUs e um contêiner Debian para a API. Uma vCPU para a API, quatro para PostgreSQL e duas para wrk. O pool do banco tinha oito conexões; wrk usou 32 conexões HTTP.

A função SQL retornava 100 linhas de dados de teste com 10000 linhas, 100 locatários e cargas úteis de 128 bytes. Cada requisição enviava um argumento JSON de 1 KiB. Foram usados HTTP no frontend e conexões PostgreSQL sem criptografia.

A verificação RS256 estava ativada, com cache de JWT e dez tokens reutilizados. O cache permitia 1000 entradas; o pgxio também tinha um limite de 1 MiB para claims e resumos contabilizados, excluindo metadados. A imagem com libpq experimental usou buffers copiados, não encaminhamento sem cópias.

Método

Três testes em ordem aleatória, cada um com 10 segundos de aquecimento e 30 segundos de medição. A vazão é a mediana de requisições bem-sucedidas por segundo. A memória é a mediana das médias por teste do tamanho proporcional de memória (PSS) dos processos da API, excluindo PostgreSQL. As latências são medianas dos percentis por teste, não percentis agrupados.

São medições locais em um host compartilhado. Não estabelecem requisitos mínimos de RAM nem a capacidade do servidor inteiro. Os resultados com tokens repetidos em cache não representam cargas dominadas por tokens únicos.

Reprodutibilidade

Baixar medições e procedência (JSON)

Imagem da API:

sha256:2daebd31eb22c698f232deb1d78d14939959c77dd126ff43eeeeb211c1f2bfcd

Imagem do PostgreSQL:

sha256:3645570cccdfa447589da9f57dd740faa29b30938e861289a5574b6ca6b03826