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_pdusdans 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