3.2 KiB
3.2 KiB
Relatório de Desempenho e Benchmarks — CyberCore Signer
Este documento consolida as medições empíricas de tempo de inicialização, pegada de memória (Resident Set Size - RSS) e latência de operações criptográficas (enumeração e assinatura digital PAdES com selo visual) no agente desktop.
1. Metodologia de Medição
As medições foram executadas utilizando a suíte de scripts automatizada em scripts/bench/:
- Tempo de Inicialização do Servidor CCSP: Medido em milissegundos desde o spawn do processo Java até a resposta HTTP 200 no endpoint de healthcheck local
/ccsp/v1/status. Média aritmética de 3 execuções consecutivas. - Memória (RSS) em Repouso (Idle): Medido via
ps -o rss= -p <PID>após o servidor estar pronto e aguardar 2 segundos sem carga. - Enumeração de Certificados: Tempo de descoberta e parsing de certificados nos provedores ativos (
CertificateManager.discoverCertificates()). - Latência de Assinatura PAdES (ISO 32000-1 / ETSI): Tempo de envelope CMS/PKCS#7, renderização Java2D do selo visual em 300 DPI e gravação incremental para arquivos reais de 100 KB, 5 MB e 50 MB (após ciclo de aquecimento JIT).
Ambiente de Teste
- Sistema Operacional: Linux x86_64 (Kernel 6.6+)
- Runtime Java: OpenJDK 25 LTS (build 25.0.4.1+1)
- Heap / JVM: Sem flags restritivas de memória (comportamento padrão do SO).
2. Tabela Comparativa de Performance (Antes vs Depois)
| Métrica Avaliada | Baseline Inicial (Antes) | Após Otimizações (Depois) | Variação (%) | Status |
|---|---|---|---|---|
| Tempo de Inicialização CCSP | 1.304 ms | Em medição | - | Em andamento |
| Consumo de Memória (RSS Idle) | 101,60 MB | Em medição | - | Em andamento |
| Enumeração de Certificados A1/A3 | 23,26 ms | Em medição | - | Em andamento |
| Assinatura PAdES — PDF 100 KB | 120,06 ms | Em medição | - | Em andamento |
| Assinatura PAdES — PDF 5 MB | 438,19 ms | Em medição | - | Em andamento |
| Assinatura PAdES — PDF 50 MB | 1.796,38 ms | Em medição | - | Em andamento |
3. Detalhamento do Baseline Inicial
3.1 Inicialização e Memória em Repouso
- Execução 1: Startup = 1508 ms | RSS = 101.21 MB
- Execução 2: Startup = 1306 ms | RSS = 101.69 MB
- Execução 3: Startup = 1100 ms | RSS = 101.89 MB
- Média de Startup: 1.304 ms
- Média de RSS em Repouso: 101,60 MB
3.2 Latência de Operações Criptográficas
- Enumeração de Certificados: 23,26 ms
- Assinatura PAdES (PDF 100 KB): 120,06 ms (arquivo assinado final: 141 KB)
- Assinatura PAdES (PDF 5 MB): 438,19 ms (arquivo assinado final: 5,04 MB)
- Assinatura PAdES (PDF 50 MB): 1.796,38 ms (arquivo assinado final: 50,04 MB)
4. Roteiro de Otimizações
- Desacoplamento da UI: Inicialização imediata do CCSP sem carregar o toolkit JavaFX no bootstrap principal.
- Streaming e RandomAccessRead: Eliminação de buffers em heap para arquivos grandes via PDFBox 3.
- Detecção Adaptativa e Cache Sob Demanda: Polling inteligente no
SmartCardWatchere cache com TTL noCertificateManager. - Virtual Threads: I/O não bloqueante no servidor local CCSP.