J’ai constaté une augmentation substantielle de l’utilisation du processeur depuis la mise à niveau ce week-end. L’utilisation du processeur de RUBY semble être le principal moteur. Ceci a été mentionné par un autre utilisateur de discourse dans ce sujet.
Comme vous pouvez le voir sur les graphiques ci-dessous, l’utilisation du processeur et la charge avant la mise à niveau étaient beaucoup plus faibles qu’après la mise à niveau. La mise à niveau a eu lieu le soir du 31/1.
En 33 heures, il y a une utilisation significative du processeur ruby. D’après les données du top, j’ai constaté une utilisation du processeur 2 fois plus élevée au cours des dernières 33 heures sur 22 jours. En 33 heures, j’ai constaté 11 heures de temps processeur. (648 minutes de temps processeur réparties sur 5 PID)
Données supplémentaires :
Le trafic a diminué au cours des deux derniers jours d’environ 10 %. (analyses et tableau de bord)
Installation standard de discourse sur un seul conteneur (pas de chat)
Les files d’attente Sidekiq sont minimes (1K à 2K par jour)
Rien ne semble inhabituel dans les journaux de discourse
Je fonctionne sur un serveur DO avec 8 Go de RAM et 2 vCPU AMD.
Ce n’est pas le cas d’un serveur critique en panne, mais les serveurs qui fonctionnent à 5 % à 7 % sont beaucoup plus heureux que ceux qui fonctionnent à 25 %.
Quelles informations puis-je fournir pour aider à résoudre ce problème ?
Laissons cela en support un moment jusqu’àà ce que nous déterminions s’il y a un bug.
Pouvez-vous entrer dans le conteneur et exécuter un htop depuis l’intérieur (vous devrez l’installer) de cette façon, vous pourrez dire quel processus spécifique consomme beaucoup de CPU.
Le plus probable cependant, est que sidekiq /sidekiq soit surchargé d’une manière ou d’une autre sur votre instance. (Je regarderais particulièrement le planificateur)
Je soupçonne que vous y verrez V8 DefaultWorker, je pense que c’est une régression dans mini_racer… je vais revenir en arrière pour voir si cela résout le problème.
Oui, cela a résolu le problème de CPU élevé. Ma charge sur 1 minute et 5 minutes est environ 1/3 des valeurs précédentes. C’est avec htop et netdata qui tournent maintenant sur le système.
Je m’attendrais à ce que l’utilisation du CPU et la charge diminuent lentement à mesure que davantage de requêtes de base de données sont mises en cache dans le système.
Tableau de charge :
temps
Avant correction
Après correction
1 min
0.4 à 0.6
0.06 à 0.1
5 min
0.39 à 0.5
0.15 à 0.18
La métrique de 15 minutes est impactée par une reconstruction. Je publierai d’autres statistiques plus tard ce matin.