Benchmarks
Este diretório contém benchmarks de desempenho para o sistema SMS-C usando Benchee.
Benchmarks Disponíveis
1. Benchmark de SMS Bruto (raw_sms_bench.exs)
Benchmark do endpoint da API submit_message_raw usando PDUs de SMS reais.
Características:
- Usa PDUs de SMS reais (adicione seus PDUs à lista
@sample_pdusno arquivo) - Desabilita a detecção de duplicatas limpando as impressões digitais antes de cada iteração
- Gera relatórios tanto em console quanto em HTML
Uso:
mix run benchmarks/raw_sms_bench.exs
Saída: benchmarks/output/raw_sms_benchmark.html
2. Benchmark da API de Mensagens (message_api_bench.exs)
Benchmark de várias operações da API de mensagens, incluindo inserção, recuperação e roteamento.
Características:
- Testa insert_message (simples e com roteamento)
- Testa get_messages_for_smsc
- Testa list_message_queues
- Pré-popula o banco de dados com dados de teste para cenários realistas
Uso:
mix run benchmarks/message_api_bench.exs
Saída: benchmarks/output/message_api_benchmark.html
Configuração
Todos os benchmarks usam Benchee com as seguintes configurações padrão:
- Aquecimento: 2 segundos
- Tempo: 10 segundos
- Tempo de memória: 2 segundos
- Estatísticas estendidas habilitadas
- Relatórios HTML gerados automaticamente
Saídas
Relatórios de benchmark em HTML são gerados em benchmarks/output/ e incluem:
- Métricas de desempenho detalhadas
- Gráficos de comparação
- Estatísticas de uso de memória
- Análise estatística