Passer au contenu principal

Dimensionnement du matériel

Ce sujet décrit le dimensionnement de la plateforme qui s'applique à la méthode de déploiement Appliance/VM.Vous pouvez utiliser ce déploiement aussi bien en mode autonome qu'en mode Haute Disponibilité (HA).

Ce sujet vous aide à choisir le bon dimensionnement de ressources matérielles pour votre déploiement IoT. Vous pouvez évaluer combien une plate-forme ThingPark Enterprise peut vous coûter avant d'acheter votre équipement.

Cas 1 - Vous souhaitez acheter des ressources matérielles pour un déploiement IoT cible pour la première fois. Pour en savoir plus, voir Cas 1 - Déterminer le dimensionnement matériel pour un déploiement IoT cible.

Cas 2 - Vous avez déjà du matériel et vous voulez savoir si le dimensionnement répond aux exigences de votre nouveau déploiement IoT. Pour en savoir plus, voir Cas 2 - Déterminer la capacité de déploiement maximale du dimensionnement matériel actuel (ou cible).

IMPORTANT

ThingPark Enterprise requiert l'utilisation du jeu d'instructions AVX du processeur.

Pour confirmer que vos hôtes (les trois nœuds en cas de HA) supportent les instructions AVX, exécutez la commande suivante :

grep -i avx /proc/cpuinfo

La présence d'un ou plusieurs indicateurs AVX dans la sortie indique que le processeur supporte ces instructions.
Si aucun indicateur AVX n'est trouvé, cela signifie que le processeur ou la configuration système (par exemple, dans un environnement virtualisé) ne les supporte pas.

Déploiement autonome

Le tableau suivant décrit les exigences de dimensionnement matériel selon votre déploiement IoT pour chaque segment de dimensionnement matériel (de Petit à XXL). Il vous donne le nombre de passerelles et de capteurs, et le taux de trafic uplink/downlink LoRaWAN®.

Petit (S)Moyen (M)Grand (L)Très Grand (XL)Double Très Grand (XXL)
PasserellesJusqu'à 10Jusqu'à 100Jusqu'à 200Jusqu'à 500Jusqu'à 1 000
CapteursJusqu'à 2 000Jusqu'à 20 000Jusqu'à 50 000Jusqu'à 100 000Jusqu'à 300 000
Taux de trafic moyen (uplink + downlink, msg/sec)16153090
Taux de trafic en pointe (msg/sec) (1)31837,560135
Req. HW
Score minimum CPU (2)
16 00030 00046 00080 000113 000
Req. HW
Marque CPU minimum (indicatif) (3)
2 2803 4004 6807 40010 040
Req. HW
RAM (GB)
812163264
Req. HW
Opérations d'écriture sur disque/sec (moyenne/pointe)
45/10080/300140/500280/1000650/1�500
Req. HW
Opérations de lecture sur disque/sec (moyenne/pointe)
20/50040/100070/1500140/2500325/7500
Req. HW
Taille de stockage (Go) (4)
90100110130200
Req. HW
TBW (5) sur 5 ans
15122565
Exemple de catégorie de dimensionnement AWS EC2m5.large + volume gp2m5.xlarge + volume gp2m5.xlarge + volume gp2m5.2xlarge + volume gp3m5.4xlarge + volume gp3
Exemple de catégorie de dimensionnement Azure VMD2asv4 + SSD premiumD4asv4 + SSD premiumD4asv4 + SSD premiumD8asv4 + SSD premiumD16asv4 + SSD premium
Exemple de dimensionnement de vCPU (6)2 vCPU4 vCPU4 vCPU8 vCPU32 vCPU

(1) La charge de pointe (paquets uplink et downlink par seconde) ne peut pas être maintenue plus d'une minute.

(2) Le score CPU peut être évalué via le script de benchmark matériel de ThingPark, qui est inclus dans la distribution d'image TPE auto-hébergé.

(3) La marque CPU indicative se réfère à la "Marque CPU Moyenne" montrée dans le PassMark CPU list. Cette valeur sert d'indication à la gamme de modèles CPU requis sur une appliance autonome pour chaque segment de dimensionnement de la plate-forme. Le dimensionnement CPU définitif doit être validé par rapport au score CPU minimal de ThingPark évalué via le script de benchmark HW.

(4) Se réfère à l'espace de stockage disponible. Par exemple, si RAID1 est utilisé pour un petit segment, la Plateforme doit avoir deux disques de 90 Go chacun.

(5) Les TeraBytes écrits (TBW) sont une métrique de fiabilité pour mesurer la durée de vie d'un SSD.

(6) En supposant un processeur Intel Xeon Platinum 8175M ou 8259CL @ 2,50GHz.

Déploiement en Haute Disponibilité

Déployer ThingPark Enterprise auto-hébergé en mode haute disponibilité nécessite un cluster de 3 nœuds :

  • Deux nœuds identiques (appelés nœuds PRIMAIRES) dimensionnés selon la capacité ciblée. Chaque nœud PRIMAIRE doit respecter les segments de dimensionnement présentés dans le tableau précédent.

  • Un troisième petit nœud (appelé nœud arbitre) agissant comme arbitre de base de données pour prévenir les problèmes de split brain.

Exigences inter-nœuds

Bien qu'il soit fortement recommandé de déployer les trois nœuds dans trois locations géographiques différentes pour réduire le risque d'accidents (incendies) ou de catastrophes naturelles, les exigences suivantes doivent être assurées entre les différents nœuds du cluster haute disponibilité :

  • La latence doit être inférieure à 10 millisecondes.
  • La bande passante entre serveurs doit être d'au moins 1 Gbps.

Le tableau suivant fournit les exigences de dimensionnement du nœud arbitre :

Exigence matérielleTous les segments de dimensionnement sauf XXLDouble Très Grand (XXL)
Score CPU minimum (1)10 00014,125
Indice CPU minimum (indicatif) (2)9251,255
RAM (Go)24
Opérations d'écriture sur disque/sec (moyenne/pic)35/12581/188
Opérations de lecture sur disque/sec (moyenne/pic)18/62541/938
Taille de stockage (Go) (3)1625
TBW (4) sur 5 ans38
Exemple de catégorie de dimensionnement AWS EC2t3.small + volume gp2c5.large + volume gp2
Exemple de catégorie de dimensionnement Azure VMF2sv2 + SSD premiumStandard_A1_v2 + SSD premium
Exemple de dimensionnement vCPU (5)1 vCPU1 vCPU

(1) Le score CPU peut être évalué via le script de benchmark matériel de ThingPark, inclus dans la distribution d'image TPE auto-hébergé.

(2) La référence CPU indicative se réfère à la "Marque CPU Moyenne" de PassMark référencée par PassMark Software - CPU Benchmarks.

(3) Se réfère à l'espace de stockage disponible. Si RAID1 est utilisé, le nœud doit avoir deux disques de 20 Go chacun.

(4) Les TeraBytes Écrits (TBW) sont une mesure de fiabilité utilisée pour évaluer la durée de vie du SSD.

(5) Supposant un processeur Intel Xeon Platinum 8175M ou 8259CL @ 2.50GHz.

Déterminer le dimensionnement matériel pour un déploiement IoT cible

  1. Déterminer le nombre cible de passerelles et de capteurs pour votre déploiement IoT.

  2. En fonction du profil de trafic attendu de vos capteurs, déduisez le nombre moyen total de messages par seconde attendu pour votre déploiement. Le profil de trafic attendu correspond au nombre moyen de messages uplink/downlink échangés par jour entre le capteur et le réseau cœur ThingPark).

  3. À partir des paramètres de conception cible définis dans les étapes 1 et 2, choisissez le segment de dimensionnement minimum répondant à tous les objectifs de conception :

    • Pour un déploiement avec quatre passerelles, 1200 capteurs et 0,6 messages par seconde, le segment de dimensionnement minimal doit être Petit (S).

    • Pour un déploiement avec 50 passerelles, 8000 capteurs et deux messages par seconde, le segment de dimensionnement minimal doit être Moyen (M).

  4. Lisez les ressources matérielles minimales requises pour le segment de dimensionnement cible dans les exigences de dimensionnement matériel présentées dans le tableau précédent :

    • Si vous avez accès à l'appliance ou l'environnement de déploiement cible, nous vous recommandons d'exécuter un benchmark matériel pour évaluer la performance CPU effective de votre serveur de déploiement. Pour en savoir plus, consultez Exécuter un benchmark du matériel.

    • Si vous ne pouvez pas exécuter le benchmark matériel sur votre appliance cible ou votre environnement de déploiement, utilisez l'indice CPU minimum pour déterminer quels modèles de CPU conviennent pour chaque segment. Pour ce faire, comparez l'indice CPU minimum (indicatif) défini dans les tableaux ci-dessus avec l'indice CPU moyen référencé par la liste CPU PassMark.

Déterminer la capacité de déploiement maximale du dimensionnement matériel actuel (ou cible)

  1. Déterminez votre segment de dimensionnement :

  2. Lisez les quatre premières lignes affichées dans le tableau précédent pour déterminer le nombre maximal de passerelles, de capteurs et de charge de trafic supportés par votre segment de dimensionnement.

  3. Si le dimensionnement actuel ne répond pas à vos exigences de déploiement cible, mettez à jour votre matériel vers le bon segment de dimensionnement. Par exemple, si votre segment de dimensionnement actuel est "S" alors que vous avez une moyenne de 2 messages par seconde, le bon segment de dimensionnement est "M".

Exécuter un benchmark du matériel

Vous pouvez évaluer votre ressource matérielle à tout moment :

  • Après avoir acheté votre équi

  • Si vous souhaitez vérifier que votre déploiement IoT existant a le dimensionnement matériel adéquat.

Pour ce faire, vous pouvez utiliser l'une des procédures suivantes :

Utilisation du script de benchmark ThingPark Enterprise

  1. Installez l'ISO ThingPark Enterprise sur le serveur ciblé.

  2. Ouvrez une session SSH en utilisant l'utilisateur support.

  3. Assurez-vous que Docker est arrêté : systemctl stop docker.

  4. Exécutez tpebench.sh pour un standalone ThingPark Enterprise OCP ou tpebench.sh --node2 <IP tpe_node2> --node3 <IP tpe_node3> pour un ThingPark Enterprise OCP with High Availability. Le mot de passe de support pour chaque nœud pourrait être demandé pendant l'exécution.

IMPORTANT

Le benchmark ne doit pas être exécuté depuis le Terminal Cockpit.

La capture suivante montre un exemple de sortie du script :

$ tpe-bench.sh --node2 192.168.250.17 --node3 192.168.250.18
TPE-Bench on node 2. The support password could be required
Connection to 192.168.250.17 closed.
TPE-Bench on node 2 : Download report. The support password could be required
tpe-bench.out.yaml 100% 974KB 116.6MB/s 00:00
TPE-Bench on node 3. The support password could be required
Connection to 192.168.250.18 closed.
TPE-Bench on node 3 : Download report. The support password could be required
tpe-bench.out.yaml 100% 90KB 19.7MB/s 00:00
##################################################################################################
#
# Node 1 bench
#
##################################################################################################
#################################################
TPE services seem to be running.
Bench results may be affected.
TPE should be stopped before running the script.
#################################################

Get the meta informations

Get the hardware informations

Get the sysbench informations

CPU model: Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz
CPU score: M (45991)
RAM: M(15.6 G)
Disk size: XL (157 G)
Disk write score: XXL(3578 w/s)
Disk read score: L(4247 r/s)

Server segment is M
Detailed result: tpe-bench.out-node1.yaml
##################################################################################################
#
# Node 2 bench
#
##################################################################################################
#################################################
TPE services seem to be running.
Bench results may be affected.
TPE should be stopped before running the script.
#################################################

Get the meta informations

Get the hardware informations

Get the sysbench informations




CPU model: Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz
CPU score: L (46872)
RAM: M(15.6 G)
Disk size: L (125 G)
Disk write score: XXL(3203 w/s)
Disk read score: L(4039 r/s)

Server segment is M
Detailed result: tpe-bench.out-node2.yaml
##################################################################################################
#
# Node 3 bench
#
##################################################################################################
#################################################
TPE services seem to be running.
Bench results may be affected.
TPE should be stopped before running the script.
#################################################

Get the meta informations

Get the hardware informations

Get the sysbench informations

CPU model: Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz
CPU score: XXL (45585)
RAM: S-M-L-XL (2.9 G)
Disk size: S-M-L-XL (20 G)
Disk write score: XXL (1073 w/s)
Disk read score: XXL (78343 r/s)

Server segment is S-M-L-XL
Detailed result: tpe-bench.out-node3.yaml


Pour chaque nœud, le segment du serveur est montré. Lorsque le dimensionnement matériel d'un serveur est réduit, le message est "Segment de serveur non compatible". Consultez Dimensionnement matériel pour plus d'informations.

Utilisation de sysbench sans installer ThingPark Enterprise

Vous pouvez mesurer la capacité de votre serveur sans installer l'ISO ThingPark Enterprise.

Remarque: le serveur doit exécuter une distribution Linux et sysbench doit être installé.

Par exemple, sur Debian/Ubuntu : apt install sysbench.

  1. Assurez-vous qu'aucun autre poste de charges ne soit en cours d'exécution sur le serveur.

  2. Test CPU :

    1. Exécutez la commande suivante : sysbench --threads=50 --time=10 --events=0 cpu run

    2. Comparez le score CPU minimum indiqué dans le tableau précédent avec la valeur "nombre total d'événements" (dans la section "Statistiques générales") à partir de la sortie sysbench.

  3. Test IO :

    1. Accédez à un répertoire sur le périphérique cible avec suffisamment d'espace disque.

    2. Préparez le test en exécutant sysbench fileio --file-total-size=10G prepare.

    3. Exécutez sysbench --threads=50 --time=10 --events=0 --file-total-size=1G --file-test-mode=rndwr --file-extra-flags=direct --file-fsync-all=on fileio run

    4. Comparez les « opérations disque par seconde (écriture/s) » du tableau ci-dessus avec la valeur « écritures/s » (dans la section « Opérations sur fichiers ») de la sortie sysbench.

    5. Nettoyage : sysbench fileio --file-total-size=10G cleanup