Planification des capacités et mise à l'échelle d' PoP en auto-hébergement
Planifiez la capacité de votre déploiement Synthetic PoP en gestion autonome et faites évoluer l' PoP e pour prendre en charge une charge de travail croissante. La taille et les ressources requises pour l' PoP nt de la charge de travail, notamment du nombre de tests synthétiques, de la fréquence d'exécution des tests et de la complexité des scripts de test.
Prévision de charge
Un bon plan de capacité garantit de meilleures performances et une plus grande stabilité au moindre coût. Instana fournit des repères concernant les différentes tailles d' PoP s et l'allocation des ressources, sur la base de mesures et de projections issues de tests de performance standard d' IBM s réalisés dans un environnement contrôlé. Le débit ou les performances réels varient en fonction de nombreux facteurs. Suivez ces étapes pour améliorer les performances d' PoP :
- Prévoyez une allocation de ressources suffisante en fonction de la charge de travail et de l'estimation de la taille de l' PoP.
- Surveillez l'état de santé d' PoP s à l'aide de l'agent d' Instana dans un environnement de production.
- Faites évoluer à la demande certains moteurs de lecture afin de faire face à une charge de travail croissante.
Si vous utilisez l'allocation par défaut des ressources CPU et mémoire pour une exécution de test « Synthetic » ( PoP, ), assurez-vous que votre cluster Kubernetes dispose d'au moins un processeur à 6 cœurs et de 4.8 Go de mémoire disponibles dans ses ressources physiques. Vous pourrez alors exécuter 2 000 tests « API Simple », 100 tests « API Script », 15 tests « Browser Script » et 2 000 tests ISM ( SSL / DNS ), sur la base des tests de performance réalisés avec la configuration suivante :
| Type de test | Fréquence | Durée | Complexité | nombre de tests |
|---|---|---|---|---|
| Test d'API simple | 1 minute | ~ 200 ms | 2 000 | |
| Test de script d'API | 5 minutes | ~ 800 ms | Lancer 5 appels « HTTP » | 100 |
| Test de script de navigateur | 15 minutes | ~ 20 secondes | Ouverture de 2 pages Web | 30 |
| SSL test | 1 minute | ~ 240 ms | 2 000 | |
| DNS test | 1 minute | ~ 240 ms | 2 000 |
Pour installer l'agent Instana afin de surveiller votre PoP ou pour faire évoluer votre PoP afin d'améliorer ses performances, des ressources physiques supplémentaires doivent être disponibles dans le cluster Kubernetes.
L'estimation de la taille PoP et de l'allocation de ressources est effectuée en effectuant des tests avec le test synthétique constant et la fréquence de test, comme indiqué dans le tableau, à l'aide des demandes de ressources et des limites de la configuration par défaut de chaque composant. Pour plus d'informations sur la configuration par défaut des composants de l' PoP e synthétique, consultez PoP helm charts. De même, pour plus d'informations sur la configuration par défaut de l'agent Instana et du capteur Kubernetes ( K8 ), consultez les graphiques de l'agent helm. Le nombre de répliques de moteur de simulation est calculé en fonction du nombre de tests et de leur fréquence d'exécution. Le nombre d'agents d' Instana s est calculé en fonction du nombre de nœuds de travail d' Kubernetes. Dans la configuration par défaut, le nombre de capteurs d' Kubernetes s est fixé à 3. Avec 3 répliques de capteurs « Kubernetes », vous pouvez surveiller jusqu'à 400 nœuds.
Exigences en matière d'espace disque
Le tableau suivant répertorie l'espace disque minimum requis par taille d' PoP pour le déploiement initial. Ces exigences sont définies par nœud de travail et concernent l'installation d' K3s, l'installation d' Helm, le stockage des images de conteneurs et les données des composants principaux de Synthetic PoP.
Pour une configuration par défaut PoP (processeur : 300m, mémoire : 300Mi ), l'utilisation réelle du disque mesurée est la suivante :
- K3s Taille du fichier d'installation : environ 1 Go
- Helm Taille du fichier d'installation : environ 1 Go
- Pods d' PoP s synthétiques (tous les conteneurs) : environ 7 Go
- Total : environ 9 Go
| PoP taille | Espace disque minimum par noeud | Noeuds worker | Espace disque minimum total | Détails de l'utilisation |
|---|---|---|---|---|
| xsmall | 50 Go | 1 | 50 Go | K3s (environ 1 Go), Helm (environ 1 Go), conteneurs PoP (environ 7 Go), mémoire tampon (environ 41 Go) |
| Petit | 100 Go | 3 | 300 Go | K3s (environ 1 Go), Helm (environ 1 Go), conteneurs PoP (environ 20 Go), mémoire tampon (environ 78 Go) par nœud |
| Moyen | 200 Go | 3 | 600 Go | K3s (environ 1 Go), Helm (environ 1 Go), conteneurs PoP (environ 40 Go), mémoire tampon (environ 158 Go) par nœud |
| Grand | 400 Go | 6 | 2,4 To | K3s (environ 1 Go), Helm (environ 1 Go), conteneurs PoP (environ 80 Go), mémoire tampon (environ 318 Go) par nœud |
Installation XS - Tester les capacités d' PoP
L'installation de XSmall est prise en charge à des fins de test ou de démonstration. Pour utiliser la configuration par défaut, si votre cluster Kubernetes dispose d'un processeur à 6 cœurs et d' 4.8 Go de mémoire dans ses ressources physiques, vous pouvez alors exécuter 10 tests « API Simple », 5 tests « API Script », 1 test « Browser Script » et 10 tests ISM ( SSL / DNS ), sur la base des tests de performance de référence réalisés avec une configuration de test constante.
Pour surveiller les tests de performance synthétiques ( PoP ) à l'aide de l'agent d' Instana, assurez-vous que le cluster Kubernetes répond aux exigences minimales suivantes :
| Ressource | Condition requise |
|---|---|
| Noeuds worker | 1 |
| UC | 8 coeurs |
| Mémoire | 7.1 GB |
| Espace disque | 50 Go par nœud |

Petite installation - Production
La petite installation est destinée à la production. Pour utiliser la configuration par défaut, si votre cluster Kubernetes dispose d'un processeur à 6 cœurs et de 4.8 Go de mémoire dans ses ressources physiques, vous pouvez alors exécuter 2 000 tests « API », 20 tests de script « API », 5 tests de script de navigateur et 2 000 tests ISM ( SSL / DNS ), selon les résultats des tests de performance réalisés avec une configuration de test constante.
Pour surveiller les tests de performance synthétiques ( PoP ) à l'aide de l'agent d' Instana, assurez-vous que le cluster Kubernetes répond aux exigences minimales suivantes :
| Ressource | Condition requise |
|---|---|
| Noeuds worker | 3 |
| UC | 12 coeurs |
| Mémoire | 11.7 GB |
| Espace disque | 100 Go par noeud |

Installation de taille moyenne - Production
L'installation de taille moyenne est destinée à la production. Pour prendre en charge cette charge de travail, vous devez étendre horizontalement les moteurs de lecture, ajuster les paramètres du contrôleur d' PoP, et augmenter les limites de CPU et de mémoire. Si votre cluster Kubernetes dispose d'au moins un processeur 28.4-core et de 21.6 Go de mémoire parmi ses ressources physiques, vous pouvez exécuter 3 500 tests API Simple, 250 tests API Script, 80 tests Browser Script et 3 500 tests ISM ( SSL / DNS ), selon les résultats des tests de performance réalisés avec une configuration de test constante.
Pour surveiller les tests de performance synthétiques ( PoP ) à l'aide de l'agent d' Instana, assurez-vous que le cluster Kubernetes répond aux exigences minimales suivantes :
| Ressource | Condition requise |
|---|---|
| Noeuds worker | 3 |
| UC | 34.4 cœurs |
| Mémoire | 28.5 GB |
| Espace disque | 200 Go par noeud |

Grande installation - Production
Une installation de grande taille est destinée à la production. Pour prendre en charge cette charge de travail, vous devez étendre horizontalement les moteurs de lecture, ajuster les paramètres du contrôleur d' PoP, et augmenter les limites de CPU et de mémoire. Si votre cluster Kubernetes dispose d'au moins un processeur à 64 cœurs et d' 48.5 Go de mémoire disponibles dans ses ressources physiques, vous pouvez exécuter 7 000 tests API Simple, 600 tests API Script, 200 tests Browser Script et 7 000 tests ISM ( SSL / DNS ) sur la base des tests de performance de référence avec une configuration de test constante.
Pour surveiller les tests de performance synthétiques ( PoP ) à l'aide de l'agent d' Instana, assurez-vous que le cluster Kubernetes répond aux exigences minimales suivantes :
| Ressource | Condition requise |
|---|---|
| Noeuds worker | 6 |
| UC | 74.5 cœurs |
| Mémoire | 57.7 GB |
| Espace disque | 400 Go par nœud |

Estimer la taille d' PoP s à l'aide d'un outil d'automatisation
Instana fournit un outil d'automatisation, synctl, qui vous aide à estimer la taille de l' PoP et à planifier la capacité. Vous pouvez utiliser l'outil comme illustré dans les exemples suivants:
synctl get pop-size
synctl get size
Mise à l'échelle par augmentation
Pour prendre en charge l'augmentation des charges de travail, augmentez les composants PoP comme suit:
- Mise à l'échelle horizontale: une approche plus simple est fournie pour augmenter le nombre de répliques des différents moteurs de simulation.
- Mise à l'échelle verticale: augmentez les nombres d'UC et de mémoire
requestsetlimits.
Mise à l'échelle horizontale
Actuellement, seuls les moteurs de lecture prennent en charge l'évolutivité horizontale. PoP Controller et Redis ne prennent pas encore en charge l'évolutivité horizontale. La charge de travail PoP se trouve principalement sur les pods du moteur de simulation. Pour prendre en charge davantage de charge de travail sur un certain type de test, vous pouvez augmenter le nombre de replicas dans le fichier values.yaml .
L'exemple suivant montre que les répliques du moteur de lecture JavaScript sont augmentées à 2 et que les répliques du moteur de lecture BrowserScript sont augmentées à 3:
--set javascript.replicas=2
--set browserscript.replicas=3
Mise à l'échelle verticale
Etant donné que le moteur de lecture JavaScript et le moteur de lecture BrowserScript consomment beaucoup de ressources, vous pouvez augmenter les nombres d'UC ou de mémoire requests et limits pour prendre en charge davantage de tests.
Par exemple, si les paramètres requests et limits du processeur sont réglés sur 800 m et 1 000 m (Core 0.8/1.0 ) dans le moteur de lecture d' JavaScript, la configuration de test décrite précédemment permet de prendre en charge 40 scripts API.
Optimisation des performances
Pour prendre en charge les charges de travail supérieures à 2000 tests synthétiques par minute, optimisez le contrôleur PoP comme suit:
- Pour prendre en charge davantage de tests avec les données d'identification de l'utilisateur, réglez le paramètre
controller.scheduleTestMaxPoolSizesur une valeur plus élevée. Pour prendre en charge ce paramètre, mettez à niveau vers Synthetic PoP 1.1.2 ou version ultérieure. - Pour permettre l'envoi d'un plus grand nombre de résultats au serveur Instana, réglez le
controller.publishAARThreadPoolSizeparamètre sur une valeur plus élevée.
Si vous réglez les paramètres controller.resources.limits.cpu jusqu'à 500 m, controller.resources.limits.memory jusqu'à 500 miles, controller.publishAARThreadPoolSize jusqu'à 40 ans, et controller.scheduleTestMaxPoolSize Jusqu'à 15, le contrôleur PoP peut prendre en charge 9000 tests API Simple avec les informations d'identification de l'utilisateur par minute.