Feature

Analyse comparative d'une implémentation IoT exécutée sur un cluster

Vous vous demandez quelle efficacité et quelle rapidité un cluster peut apporter à votre système IoT ? Jetez un œil à notre comparaison.

TagoIO Team ·
Analyse comparative d'une implémentation IoT exécutée sur un cluster

Dans des articles précédents, nous avons abordé les avantages des clusters IoT et la façon dont ils peuvent offrir disponibilité et évolutivité, entre autres bénéfices. Nous allons maintenant voir comment ils se comportent lorsqu’ils sont exécutés sur du matériel précis. Dans cet article, nous avons testé trois configurations avec une configuration matérielle identique afin d’évaluer les performances CPU des solutions globales utilisées pour faire fonctionner une application IoT.

Le matériel

Pour cette analyse comparative, nous avons utilisé le matériel suivant :

Radxa ROCK Pi 4 Go de RAM 16 Go 6 Go Stockage 256 Go HDeMMC : NCEMASLD-32G

Radxa ROCK Pi 4 Go de RAM

Mac Mini M1

Processeur Apple M1 8 cœurs, double Cortex-A72 à 1,8 GHz et quadruple Cortex-A53 à 1,4 GHz

Processeur Apple M1 8 cœurs, double Cortex-A72

Mac Mini M1 et Radxa ROCK Pi 4B (Source : Radxa)

La configuration

Comme mentionné précédemment, il y avait trois configurations. Dans les trois, le Mac mini envoyait des requêtes HTTP avec trois variables par requête au ROCK Pi.

TagoCore avec SQLite

1x ROCK Pi avec base de données SQLite exécutant TagoCore.

1x Mac mini comme simulateur d’appareil

Cas de configuration cluster TagoCore avec SQLite

TagoCore avec PostgreSQL externe

1x ROCK Pi exécutant TagoCore.

1x Mac mini comme simulateur d’appareil avec base de données PostgreSQL

Configuration cluster TagoCore avec PostgreSQL externe

Cluster TagoCore avec PostgreSQL externe

3x ROCK Pi exécutant TagoCore en cluster.

1x Mac mini comme simulateur d’appareil avec base de données PostgreSQL

Les requêtes étaient réparties à l’aide d’un load balancer, qui équilibrait la charge entre les trois ROCK Pi grâce à l’algorithme round robin.

Cluster TagoCore avec PostgreSQL externe

Les résultats

Nous avons évalué trois scénarios dans lesquels nous avons modifié la fréquence d’entrée des données (requêtes par minute) tout en maintenant tous les autres facteurs constants.

Premier scénario : 1 600 requêtes par minute,

Deuxième scénario : 5 200 requêtes par minute,

Troisième scénario : 10 400 requêtes par minute.

Premier scénario

Dans le premier scénario, comme le montre le graphique ci-dessous, la différence entre le cluster et les deux autres configurations est notable. TagoCore exécuté en cluster utilise presque 20 % de CPU en moins que le cas exécutant TagoCore avec SQLite, et près de 12 % de moins que TagoCore avec PostgreSQL externe.

On remarque également la différence entre le premier cas et le deuxième, où le premier cas avec SQLite sur le ROCK Pi a utilisé plus de CPU que celui avec PostgreSQL externe.

Comparaison des résultats avec un cluster pour les applications IoT

Deuxième scénario

Dans le deuxième scénario, maintenant que nous avons haussé le rythme et envoyé 5 200 requêtes par minute, l’écart s’est creusé. Au lieu de 12 %, la différence est désormais de 15 % de CPU en moins avec le cluster qu’avec le seul ROCK Pi accompagné de PostgreSQL externe.

Deuxième scénario : comparaison des résultats avec un cluster pour les applications IoT

Troisième scénario

Il est curieux de noter que même dans ce dernier cas, où le Mac mini a envoyé 10 400 requêtes par minute, le pourcentage d’utilisation du CPU reste inférieur à 30 % pour chaque ROCK Pi.

Troisième scénario : comparaison des résultats avec un cluster pour les applications IoT

Vaut-il la peine d’implémenter un cluster pour les applications IoT ?

Dans la plupart des cas, le cluster surpasse l’exécution de TagoCore sur un seul ROCK Pi, car une baisse importante de l’utilisation du CPU est notable avec une configuration en cluster. Cette baisse de l’utilisation du CPU s’explique sans doute par l’équilibrage de charge et l’usage de trois ordinateurs au lieu d’un seul.

Il vaut donc la peine d’implémenter un cluster IoT si vous recherchez de meilleures performances pour votre application IoT.

Cela dit, implémenter un cluster pour une application IoT peut s’avérer difficile pour certains, mais heureusement c’est là que TagoCore, la plateforme IoT gratuite et open source de TagoIO, entre en jeu pour vous aider ! Les utilisateurs de TagoCore peuvent implémenter sans effort des clusters au sein de leur environnement IoT, alors profitez de notre plateforme open source dotée de fonctionnalités de cluster !

Pour en savoir plus sur TagoCore et sur la façon de l’implémenter en cluster, consultez notre webinaire « Installing and Configuring TagoCore on edge devices » et visitez le site web de TagoCore.