Pular para o conteúdo principal

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_pdus no 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