J'ai deux machines EC2 c3.2xlarge avec un environnement Ubuntu, toutes deux situées à us-west-2a AZ. Les deux contiennent le même code avec une base de données mySQL de AWS RDS (db.r3.2xlarge). Les deux instances sont ajoutées à un ELB. Les deux instances ont un cron programmé qui s'exécute deux fois par jour.
ELB a été configuré pour déclencher l'alarme dès que le seuil dépasse 5,0. L'utilisation du CPU des deux instances est en moyenne de 30 à 50. Aux heures de pointe, elle atteint 100 % pendant une minute ou deux, puis revient à la normale. Mais ELB déclenche constamment l'alarme trois fois par jour. À ce moment-là, les deux instances ont
CPU - ~50%
Memory - total - 14979
used - ~6000
free - ~9000
RDS CPU - ~30%
Connections - 200 to 300 /5,000
D'après ce document https://aws.amazon.com/premiumsupport/knowledge-center/elb-latency-troubleshooting/ Je n'ai rien trouvé à redire aux instances. Mais la latence atteint toujours des sommets et les deux instances ne répondent pas.
Jusqu'à présent, j'enlève une instance de l'équilibreur de charge, je redémarre l'apache, je la charge à nouveau et je fais de même pour l'autre instance. Cela fait parfaitement l'affaire et les instances et l'ELB fonctionnent bien pendant les 6 à 10 heures suivantes. Mais ce n'est pas acceptable car, chaque jour, deux ou trois fois, il faut s'occuper du serveur, il faut le redémarrer.
J'ai besoin de savoir s'il y a un problème ou si des mesures doivent être prises pour résoudre ce problème.
L'état du serveur Apache contient trop de processus de ce type (~200/250 processus) :
7-0 23176 1/2373/5118 C 30.95 3986 0 0.0 7.01 15.78 127.0.0.1 ip-xxx-xxx-xxx-xxx.us-west-2.comp OPTIONS * HTTP/1.0