Je souhaite évaluer et mettre à l’échelle une application hébergée sur AWS Elastic Beanstalk pour des performances, une capacité de mise à l’échelle et une disponibilité continue optimales.
Résolution
AWS Elastic Beanstalk fournit des ressources telles que des groupes Auto Scaling, des équilibreurs de charge et des instances Amazon Elastic Compute Cloud (Amazon EC2). Lorsque vous évaluez vos applications, elles restent disponibles en permanence.
Pour évaluer et mettre à l’échelle de manière optimale votre environnement Elastic Beanstalk, mettez à jour la métrique des déclencheurs de dimensionnement de votre configuration autoscaling en fonction du comportement de votre application. Les indicateurs les plus courants pour l'analyse comparative et la mise à l'échelle de votre application sont les suivants :
- NetWorkout\ : métrique par défaut. Utilisez cette métrique pour mettre à l’échelle votre application en fonction du flux de trafic provenant d'une instance.
- CPUUtilization\ : utilisez cette métrique pour mettre à l’échelle votre application en fonction de sa sensibilité à l'utilisation du processeur d'une instance.
- RequestCount\ : cette métrique permet de suivre le nombre de requêtes client qui ont atteint l'application. Utilisez cette métrique pour mettre à l’échelle votre application en fonction de sa sensibilité au nombre de requêtes.
- TargetResponseTime\ : cette métrique suit la latence de votre application. Utilisez cette métrique pour mettre à l’échelle votre application en fonction de sa sensibilité à la latence.
Pour plus d'informations sur la mise à jour de vos déclencheurs de dimensionnement, consultez la section Configuration des déclencheurs d’autoscaling.
Pour évaluer les performances, utilisez un outil de test de charge pour configurer et simuler un test de charge.
Important :
- Les types d'instances définissent la capacité de votre application à gérer une charge. Chaque type d'instance possède un processeur, une mémoire, un réseau et un disque définis. Assurez-vous de choisir le type d'instance approprié et le nombre total d'instances (minimum et maximum). Pour plus d'informations, consultez la section Les instances Amazon EC2 pour votre environnement Elastic Beanstalk et Types de volume Amazon EBS.
- Pour améliorer les performances, optimisez la dépendance externe de votre application, comme la connectivité à la base de données, l'authentification et la mise en cache.
- Appréhendez le type d'équilibreur de charge et l'algorithme d'équilibrage de charge utilisés. Pour plus d'informations, reportez-vous à Principe de fonctionnement de l’Elastic Load Balancing et consultez la section Préchauffage de l’équilibreur de charge de la rubrique Bonnes pratiques d’évaluation de l’Elastic Load Balancing.
- Appréhendez le type de protocole utilisé. Par exemple, le protocole HTTP est plus rapide que le protocole HTTPS. Cependant, contrairement au HTTP, le HTTPS comporte une étape supplémentaire pour la liaison SSL.
- Utilisez un réglage de performance adapté à la charge. Pour NGINX, consultez la page Réglage de NGINX pour les performances sur le site Web de NGINX. Pour Apache, consultez la page Réglage des performances d’Apache sur le site Web d'Apache.