Aller au contenu principal

Benchmarks

Ce répertoire contient des benchmarks de performance pour le système SMS-C utilisant Benchee.

Benchmarks Disponibles

1. Benchmark SMS Brut (raw_sms_bench.exs)

Benchmarks le point de terminaison API submit_message_raw en utilisant de véritables PDUs SMS.

Fonctionnalités :

  • Utilise de véritables PDUs SMS (ajoutez vos PDUs à la liste @sample_pdus dans le fichier)
  • Désactive la détection des doublons en effaçant les empreintes digitales avant chaque itération
  • Produit des rapports à la fois en console et en HTML

Utilisation :

mix run benchmarks/raw_sms_bench.exs

Sortie : benchmarks/output/raw_sms_benchmark.html

2. Benchmark API de Message (message_api_bench.exs)

Benchmarks diverses opérations de l'API de message, y compris l'insertion, la récupération et le routage.

Fonctionnalités :

  • Teste insert_message (simple et avec routage)
  • Teste get_messages_for_smsc
  • Teste list_message_queues
  • Pré-remplit la base de données avec des données de test pour des scénarios réalistes

Utilisation :

mix run benchmarks/message_api_bench.exs

Sortie : benchmarks/output/message_api_benchmark.html

Configuration

Tous les benchmarks utilisent Benchee avec les paramètres par défaut suivants :

  • Échauffement : 2 secondes
  • Temps : 10 secondes
  • Temps mémoire : 2 secondes
  • Statistiques étendues activées
  • Rapports HTML générés automatiquement

Sorties

Les rapports de benchmark HTML sont générés dans benchmarks/output/ et incluent :

  • Métriques de performance détaillées
  • Graphiques de comparaison
  • Statistiques d'utilisation de la mémoire
  • Analyse statistique