Comment tester les performances de votre serveur SMPP
Ozeki SMS Gateway est un système de passerelle SMS très rapide. Il peut transférer jusqu'à 1000 SMS/seconde sur un serveur standard. Ce document montre comment vous pouvez tester les performances SMPP de votre système de passerelle SMS.
Ozeki SMS Gateway intègre des fonctionnalités natives pour tester les performances SMS. Vous pouvez utiliser ces fonctionnalités pour tester les performances de votre service SMPP. Vous pouvez tester les performances du client SMPP ou du serveur SMPP indépendamment ou configurer un système de test avec deux ordinateurs et mesurer le débit global du système. Ce guide vous présente les composants de test et un système que vous pouvez déployer sur votre réseau pour évaluer les performances de vos services.
Comment tester les performances de votre serveur SMPP (Instructions simples)
Pour tester les performances de votre serveur SMPP :
- Lancez Ozeki SMS Gateway
- Ajoutez un nouvel utilisateur Tester
- Configurez la connexion de l'utilisateur Tester
- Sélectionnez l'icône Connect dans la barre d'outils
- Installez la connexion Tester
- Entrez un nom pour la connexion Tester
- Accédez à l'onglet Test de l'utilisateur Tester
- Choisissez le test de performance
- Vérifiez les performances du serveur SMPP dans les logs
Architecture du système de test de vitesse SMPP
Le système de test que nous utilisons pour les tests de performance se compose de deux ordinateurs : l'ordinateur "A" et l'ordinateur "B". L'ordinateur "A" a un client SMPP installé et le composant utilisateur tester est configuré pour générer des messages de test. L'ordinateur "B" a un serveur SMPP configuré qui accepte la connexion SMPP de l'ordinateur "A". L'ordinateur "B" accepte tous les SMS envoyés par l'ordinateur "A" et les transfère vers une connexion dite Tester. Cette connexion Tester "avale" tous les messages. Cette architecture est présentée dans la Figure 1.
Combien coûte le test de performance ?
Cette configuration de test ne transfère aucun message vers le réseau mobile, donc vous n'aurez pas à vous soucier des coûts SMS. Tous les messages restent en interne. Les messages de test sont créés sur l'ordinateur "A", voyagent à travers votre réseau vers l'ordinateur "B", où ils sont "avalés" par la "connexion Tester".
Quel matériel dois-je utiliser ?
Vous pouvez utiliser tout matériel capable d'exécuter Windows ou Linux et
qui respecte les exigences système de la passerelle SMS. Notez que
les performances dépendent fortement de la configuration matérielle. Dans les
tests réalisés, nous avons utilisé la configuration suivante :
Ordinateur A :
CPU : Intel(R) Core(TM) i7-9700K CPU@3.60 GHz
RAM : Corsair Vengeance 64 GB (2x32GB) 3200Mhz DDR4
HDD : Samsung 970 EVO Plus 1TB NMe M.2(2280) Solid State Drive (SSD)
Carte mère : ASUS Prime Z390M-Plus LGA1151 Gen2
OS : Windows 10 Professionnel
Logiciel : Ozeki 10 SMS Gateway v10.3.100
Ordinateur B :
CPU : Intel(R) Core(TM) i7-9700K CPU@3.60 GHz
RAM : Corsair Vengeance 64 GB (2x32GB) 3200Mhz DDR4
HDD : Samsung 970 EVO Plus 1TB NMe M.2(2280) Solid State Drive (SSD)
Carte mère : ASUS Prime Z390M-Plus LGA1151 Gen2
OS : Windows 10 Professionnel
Logiciel : Ozeki 10 SMS Gateway v10.3.100
Réseau : Lien Ethernet 1Gbps via un switch HP
Cette configuration permettait de délivrer 1000 SMS par seconde. Elle a transmis 1 000 000 de SMS de l'ordinateur A à l'ordinateur B en moins de 16 minutes.
Configuration de l'ordinateur "B"
Lorsque vous commencez à configurer le système, il est recommandé de commencer par l'ordinateur "B". La raison est que cet ordinateur fournit la fonctionnalité de serveur SMPP, et il est préférable de créer d'abord le compte utilisateur SMPP puis de configurer le client sur l'ordinateur "A" pour utiliser ce compte.
La première vidéo vous montre les étapes pour configurer l'ordinateur "B". La vidéo part d'une installation par défaut. Pour installer le système, suivez les instructions du guide d'installation d'Ozeki SMS Gateway. Après l'installation, vous devez configurer une connexion Tester et un utilisateur SMPP pour accepter les connexions client SMPP entrantes. En installant l'utilisateur SMPP, Ozeki 10 SMS Gateway active et configure automatiquement le serveur SMPP intégré. Ce serveur SMPP écoutera sur le port 9550. Notez que lors de la configuration de l'utilisateur SMPP, nous avons fourni un nom d'utilisateur et un mot de passe. Nous avons utilisé smp1 comme nom d'utilisateur et qwe123 comme mot de passe. Ces identifiants seront aussi utilisés sur l'ordinateur "A" pour configurer le client SMPP.
Configuration de l'ordinateur "A"
La vidéo numéro deux montre les étapes pour configurer l'ordinateur "A". Lors de la configuration, nous créons d'abord une connexion client SMPP. Pendant la configuration du client SMPP, nous indiquons l' adresse IP de l'ordinateur "B", ainsi que le nom d'utilisateur et le mot de passe SMPP. Notez que nous utilisons les mêmes identifiants (smp1, qwe123) que ceux configurés sur l'ordinateur "B" lors de la création du compte utilisateur SMPP.
Après la création de la connexion client SMPP, nous configurons un utilisateur tester. L'utilisateur tester est une fonctionnalité de test intégrée qui permet d'envoyer des SMS de test à travers le système. Vous pouvez générer et envoyer un grand volume de messages en un seul clic. Chaque message aura son propre numéro de téléphone et un texte unique pour simuler des conditions réelles. Une fois l'utilisateur tester configuré, vous êtes prêt à effectuer le test.
Notez que nous supposons que le pare-feu de l'ordinateur "A" autorise les connexions SMPP entrantes (TCP/IP) sur le port 9550. Si vous ne l'avez pas encore configuré, vous trouverez des instructions détaillées sur la page de configuration du pare-feu pour un serveur SMPP.
Pour tester les performances de votre système, vous devez générer de nombreux SMS. Cela peut être fait avec l'utilisateur tester. Pour installer un utilisateur tester, cliquez sur le bouton Apps dans la barre d'outils, et comme montré dans la figure suivante, descendez jusqu'à la section Testing et cliquez sur le bouton Install de la connexion Tester user. (Figure 2)
Avant la création de l'utilisateur tester, le formulaire de configuration s'affiche. Cette connexion ne nécessite aucune configuration supplémentaire, il suffit de spécifier un nom pour la connexion. (Figure 3) Une fois fait, cliquez sur OK pour créer l'utilisateur tester.
La clé pour créer le système de test est l'installation de la connexion Tester service provider. Cette connexion sera utilisée comme fournisseur de service de test, auquel se connecte la connexion Tester user. Pour créer cette connexion, sélectionnez le menu Connect dans la barre d'outils, puis la section Connections for testing. Pour l'installer, vous devez la sélectionner dans la liste des fournisseurs de service et cliquer sur le bouton Install. (Figure 4)
Après avoir cliqué sur Install, vous devrez donner un nom à cette connexion tester, et vous pourrez effectuer des configurations supplémentaires dans l'onglet avancé, comme définir le niveau de journalisation ou activer les rapports de livraison. (Figure 5)
Exécution du test
Lors du test, nous avons envoyé 1 000 000 de SMS de l'ordinateur "A" à l'ordinateur "B". Cet événement a été enregistré sur les deux ordinateurs. Notez que pendant le test, l'enregistrement vidéo était actif sur les deux ordinateurs, ce qui a eu un impact sur les performances. Ci-dessous, vous pouvez voir les vidéos brutes montrant le débit des messages sur l'ordinateur "A" et l'ordinateur "B". Il est intéressant de noter que vous verrez des étiquettes de mesure de vitesse affichant la vitesse en temps réel pour différents composants. Vous verrez que la vitesse était d'environ 1500 SMS par seconde. Cela signifie qu'il faut environ 10-11 minutes pour transférer 1 000 000 de SMS de l'ordinateur "A" à l'ordinateur "B" via la liaison SMPP.
À ce stade, vous avez installé les deux connexions tester requises et votre système est prêt à être testé. Pour cela, ouvrez d'abord la connexion Tester user dans le menu principal de la passerelle SMS. Ici, dans l'onglet Test de la connexion, vous pouvez sélectionner le nombre de messages que le test va envoyer. Cela vous permet de tester votre système avec un seul message ou d'initier 100 000 messages à la fois. Comme vous pouvez le voir dans la Figure 6, sélectionnez le test avec 100 000 messages en cliquant sur le bouton 'Send test (100,000)'.
Envoyer 1 000 000 SMS : Vue de l'ordinateur "A"
Sur l'ordinateur "A", les messages ont été envoyés de l'utilisateur tester vers le client SMPP via la table de routage, puis vers le réseau. Pendant ce processus, vous verrez que la vitesse était d'environ 1500 MPS. Ce qui est important, c'est que cette vitesse a été maintenue pendant tout le test. Dans la vidéo, vous verrez que les 1 000 000 de messages ont d'abord été ajoutés à la boîte d'envoi du système, puis envoyés au fur et à mesure que la capacité devenait disponible. Vous remarquerez peut-être que le compteur de la boîte d'envoi était divisé en deux composantes. Vous verrez un nombre noir et un nombre rouge. Le nombre rouge à côté du label Outbox indique que certains messages ont été ajoutés à une "boîte d'envoi pour livraison future". Cela est nécessaire pour maintenir la taille par défaut de la boîte d'envoi (indiquée par le nombre noir) en dessous de 50000 pour garantir des performances élevées. L'idée derrière cette séparation est que travailler avec des tailles de données plus petites est plus rapide. Vous verrez aussi que lorsque les messages étaient retirés de la boîte d'envoi standard, la boîte d'envoi pour livraison future était vidée par lots de 10000 messages.
Envoyer 1 000 000 SMS : Vue de l'ordinateur "B"
Sur l'ordinateur "B", les messages sont arrivés dans le compte utilisateur SMPP. Ensuite, ils sont passés par la table de routage et sont arrivés à la connexion SMPP tester. Vous remarquerez que tous les composants fonctionnaient à une vitesse soutenue d'environ 1500 MPS. Nous montrons aussi la valeur de l'odomètre à la fin du test. Vous verrez que ce nombre s'élève à 1000021 messages. Ce nombre correspond au nombre vu dans les odomètres de l'ordinateur "A". Cela signifie qu'en réalité 1 000 021 messages ont été envoyés pendant le test. Les 21 messages supplémentaires ne sont pas une erreur. Ils contiennent des métadonnées sur le test et aident les développeurs d'Ozeki à mieux comprendre le flux des messages. Vous pouvez simplement les ignorer.
Comment vérifier les résultats du test (utilisation des fichiers logs)
Le test ci-dessus a été réalisé sans activation des logs. La journalisation nécessite des E/S disque ce qui signifie que l'ordinateur doit faire plus de choses en même temps. Avec les logs activés, le débit SMS diminue quelque peu, mais pour vérifier nos résultats, et être sûr que tous les 1 000 000 de SMS sont passés de l'ordinateur "A" à l'ordinateur "B", nous devons activer la journalisation.
Le meilleur endroit pour activer les logs est au niveau de l'utilisateur SMPP sur l'ordinateur "B". À ce niveau nous pouvons enregistrer les transactions SMPP pour tous les SMS entrants. Dans la vidéo ci-dessous, la journalisation niveau bas SMPP est activée pour l'utilisateur SMPP. Cela signifie que chaque PDU SMPP est enregistré dans un fichier texte pendant le test. Après l'activation des logs, nous avons envoyé un lot de 100 000 SMS au système. Vous remarquerez que la vitesse est descendue à environ 1300 MPS avec les logs activés. Si vous regardez la vidéo, vous verrez qu'avec les logs activés, vous pouvez surveiller la communication SMPP en temps réel sur l'interface graphique. À la fin de la vidéo, vous verrez qu'environ 76 Mo de données de log ont été écrits sur le disque. 100 000 SMS ont généré 76 Mo de logs avec la journalisation SMPP activée. En lisant le log dans Notepad, vous pouvez vérifier que tous les 100 000 SMS ont été reçus. Si vous n'avez pas besoin d'un log détaillé de chaque transaction SMPP, nous recommandons de désactiver la journalisation niveau bas pour économiser des ressources.
Exécution d'un test de performance avec rapports de livraison
L'infrastructure SMS offre des rapports de livraison, qui sont des confirmations renvoyées à l'utilisateur lorsqu'un SMS arrive sur le téléphone du destinataire. Les rapports de livraison sont transportés comme des SMS standard dans le réseau mobile. Si un rapport de livraison est demandé, un SMS dit de rapport de livraison est renvoyé à l'expéditeur lorsque le SMS arrive au destinataire. Cela signifie que chaque SMS sortant génère un SMS entrant. Si vous demandez des rapports de livraison, vous avez besoin d'une capacité double de votre passerelle SMS.
Un bon point concernant les rapports de livraison est qu'ils voyagent dans la direction opposée, donc la vitesse du réseau n'est pas divisée par deux lorsque les rapports de livraison sont activés.
Dans le test final, nous avons activé la simulation de rapports de livraison dans la connexion tester sur l'ordinateur "B" et nous avons activé les demandes de rapports de livraison dans l'utilisateur tester sur l'ordinateur "A". Cette configuration nous permet de tester les performances d'Ozeki 10 SMS Gateway avec les rapports de livraison activés.
Configuration de l'ordinateur "A" pour les rapports de livraison
Pour configurer l'ordinateur "A" afin de demander des rapports de livraison pour chaque SMS de test, vous devez ouvrir l'onglet Advanced du formulaire de configuration de l'utilisateur tester. Dans l'onglet avancé, ouvrez le groupe Delivery reports et cochez la case "Request delivery reports".
Configuration de l'ordinateur "B" pour les rapports de livraison
Pour configurer l'ordinateur "B", vous devez effectuer deux tâches. D'abord, vous devez activer la simulation de rapports de livraison dans la connexion tester. Vous pouvez le faire en ouvrant le formulaire de configuration de la connexion tester. Dans ce formulaire, sélectionnez l'onglet Advanced , ouvrez le groupe Delivery reports et cochez la case "Return delivery reports".
L'étape suivante consiste à configurer la prise en charge des rapports de livraison dans les paramètres de l'utilisateur SMPP. Pour cela, ouvrez le formulaire de configuration de l'utilisateur SMPP et assurez-vous que la politique de nettoyage est définie sur "Cleanup on delivery reports", et que la politique de rapport de livraison est définie sur "Request if asked by message". Le paramètre de nettoyage signifie que les SMS envoyés par le client SMPP resteront dans le dossier des éléments envoyés jusqu'à ce qu'un rapport de livraison correspondant arrive. Cela permet au système d'associer les rapports de livraison entrants aux messages précédemment envoyés. C'est une exigence pour notifier correctement la connexion client SMPP avec les références de messages correspondantes lorsque le rapport de livraison est renvoyé via la liaison SMPP.
Exécution du test de performance avec rapports de livraison SMS
Dans le test de performance que nous avons effectué, nous avons activé la journalisation niveau bas SMPP et l'association des rapports de livraison. Vous verrez que la vitesse augmente initialement car nous utilisons maintenant un transport bidirectionnel. Et les messages peuvent voyager dans les deux directions à la vitesse offerte par les implémentations du protocole et le réseau. Après un certain temps, cette vitesse descend à environ 1000 SMS par seconde dans les deux directions. La vitesse fluctue car les rapports de livraison ne sont pas générés de manière uniforme pour simuler des conditions réelles. Dans la réalité, certains rapports de livraison arrivent nettement plus tard. (Par exemple, si un téléphone portable est éteint et rallumé quelques jours plus tard, le rapport de livraison peut arriver plusieurs jours après l'envoi du message original.)
Vous remarquerez peut-être aussi que le log de communication SMPP est mis à jour en temps réel sur l'interface graphique, ce qui consomme des ressources. Dans un système réel, vous désactiverez probablement ce log.
Une autre chose à noter est l'odomètre. Vous verrez deux nombres augmenter au lieu d'un. C'est parce que maintenant nous avons à la fois des SMS sortants et des rapports de livraison entrants. Vous verrez aussi la taille de la file d'attente des messages entrants augmenter. C'est là que les rapports de livraison sont stockés jusqu'à ce qu'ils puissent être transportés via la connexion client SMPP.
À la toute fin du test, vous verrez la vitesse chuter. C'est parce que dans cette phase, aucun message entrant ne doit être traité et le nombre de rapports de livraison à retourner est inférieur à la capacité du système. S'il y avait plus de messages, la vitesse remonterait.
Conclusion
Nous pouvons affirmer avec certitude qu'Ozeki 10 SMS Gateway est capable de délivrer des SMS SMPP à un taux de 1000 SMS par seconde à travers le réseau. Ce logiciel est l'un des plus rapides (sinon le plus rapide) de son segment de marché. Vous aurez du mal à trouver mieux.
More information
- Tester les performances de votre serveur SMPP
- Comment définir une limite de vitesse pour les comptes utilisateurs SMPP
- Comment limiter la vitesse d'un client SMPP
- Test de vitesse HTTP pour les services SMS REST
- Calculateur de bande passante réseau SMPP
- Priorités SMS, algorithme Round Robin
- SMS à haut volume