Recherche de site Web

Testez votre plateforme IoT avec des outils open source


Cette démo de JMeter utilisant EMQX montre comment introduire des outils de test de performances pour vérifier et tester les indicateurs de qualité liés à la plateforme.

Les secteurs de l'Internet des objets (IoT) et de l'informatique de pointe se développent rapidement, tout comme l'ampleur des points de terminaison et la complexité de la logique métier. Plus l’écosystème IoT se développe, plus il devient important de vérifier la disponibilité et la fiabilité de votre plateforme. Si vous fournissez des services, tester votre système IoT peut vous aider à identifier les goulots d'étranglement en termes de performances et à planifier l'évolutivité.

L'IoT peut être constitué d'un nombre illimité d'appareils différents utilisant divers protocoles, reliés entre eux par une architecture d'intégration complexe. Cela peut rendre difficile la conception de tests efficaces et significatifs. Dans cet article, je montre comment tester une plate-forme IoT en utilisant EMQX comme exemple de la façon d'introduire des outils de test de performances pour vérifier et tester les indicateurs de qualité liés à la plate-forme.

EMQX

EMQX est un courtier de messagerie évolutive (MQTT) utilisé pour connecter des appareils IoT. C'est open source, mais comme il s'agit d'un courtier, vous devez disposer d'un nœud fonctionnel pour gérer tout le trafic de messagerie. Vous pouvez accepter sa licence de source commerciale (BSL) et obtenir 10 licences pour utiliser l'installation cloud officielle d'EMQX. Alternativement, vous pouvez installer et exécuter EMQX sur votre propre serveur.

Introduction à JMeter

JMeter est un logiciel open source de la Fondation Apache. Il implémente principalement des tests de performances en simulant des charges simultanées, une méthode de test de performances courante dans la communauté open source. Il présente principalement les avantages suivants :

  • Prise en charge intégrée de plusieurs protocoles, notamment TCP, HTTP, HTTPS, etc.
  • Fournit un mécanisme d'extension de plug-in flexible et prend en charge les extensions tierces d'autres protocoles.
  • Grand soutien de la communauté.

Installer JMeter

JMeter est écrit en Java, vous devez donc installer Java s'il n'est pas déjà installé. Pour Linux, macOS et Windows, vous pouvez utiliser Adoptium.net. Sous Linux, vous pouvez également utiliser SDKMan.

Après avoir installé Java, téléchargez JMeter, décompressez-le et entrez dans le sous-répertoire bin du répertoire d'archive. En fonction de votre système d'exploitation, exécutez jmeter (Linux et macOS) ou jmeter.bat (Windows).

$ wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-X.Y.tgz
$ tar xvf apache-jmeter*tgz
$ cd apache-jmeter-X.Y/bin
$ ./jmeter

L'interface d'édition de script de JMeter vous est présentée :

(Chongyuan Yin, CC BY-SA 4.0)

Votre premier test JMeter

Voici comment utiliser JMeter pour créer et exécuter un scénario de test HTTP simple.

  1. JMeter utilise un seul thread pour simuler un utilisateur. Un Thread Group fait référence à un groupe d'utilisateurs virtuel et simule l'accès au système testé.

    Pour ajouter un groupe d'utilisateurs virtuel (Thread Group), faites un clic droit sur Plan de test > Ajouter > Threads (Utilisateurs) > Thread Groupe.

    (Chongyuan Yin, CC BY-SA 4.0)

    Le Nombre de threads dans les Propriétés du thread peut être utilisé pour configurer le nombre d'utilisateurs simultanés dans un groupe d'utilisateurs virtuel. Plus la valeur est élevée, plus la concurrence est importante. Utilisez le Nombre de boucles pour configurer le nombre de tests effectués par chaque utilisateur virtuel.

    (Chongyuan Yin, CC BY-SA 4.0)

  2. JMeter comprend plusieurs exemples de tests. Ajoutez le test HTTP Request en faisant un clic droit sur Thread Group > Ajouter > Sampler > HTTP Demande.

    (Chongyuan Yin, CC BY-SA 4.0)

    Dans l'exemple de script de test, utilisez les paramètres de requête HTTP par défaut pour lancer une requête HTTP vers un site Web.

    (Chongyuan Yin, CC BY-SA 4.0)

  3. Un écouteur de résultats n'est pas strictement nécessaire pour le test de performances, mais il vous permet de voir le résultat du test. Cela peut faciliter le débogage lors du processus d’écriture de scripts. Dans cet exemple de script, utilisez Afficher l'arborescence des résultats pour vous aider à afficher les informations de réponse de la demande.

    Pour ajouter un écouteur de résultats, cliquez avec le bouton droit sur Groupe de threads > Ajouter > Listener > Afficher l'arborescence des résultats.

    (Chongyuan Yin, CC BY-SA 4.0)

  4. Il est temps d'exécuter le test. Après avoir enregistré votre script de test, cliquez sur le bouton Démarrer dans la barre d'outils supérieure pour exécuter le script de test. Étant donné que vous effectuez des tests sur un site Web public, utilisez un faible nombre (moins de 10) de threads et de boucles. Si vous spammez le site, vous pourriez vous retrouver bloqué à l'avenir !

    (Chongyuan Yin, CC BY-SA 4.0)

Testez votre plateforme IoT

Vous avez terminé un simple script de test HTTP. Vous pouvez tirer des conclusions de ce cas et essayer d’autres protocoles. Dans le prochain article, je présenterai plus en détail d'autres composants de test de JMeter, que vous pouvez utiliser ensemble pour créer des scénarios de test complexes. Pour l'instant, explorez JMeter pour voir ce que vous pouvez tester.

Articles connexes: