Mon site a connu un ralentissement léger et soudain lors du chargement des pages dernièrement. J’ai eu un problème où une sauvegarde a été générée et a dépassé l’espace sur mon volume DigitalOcean, ce qui a mis le site hors service. Depuis lors, j’ai eu du mal à reconstruire le site. Ces événements pourraient être liés en raison du calendrier. Actuellement, le site semble être dans un état stable, mais juste plus lent que ce à quoi je suis habitué.
Je pourrais entrer dans les détails de ce qui s’est passé davantage, mais je préférerais poser une question plus générale. Quelles sont les techniques pour diagnostiquer la cause d’un ralentissement ? Mon droplet a une utilisation moyenne du CPU de 20 %, j’ai donc apparemment suffisamment de ressources (4 Go de mémoire / 2 vCPU AMD / 80 Go de disque, ~15 000 pages vues par jour).
Merci ! Si vous aviez une pénurie de mémoire, les chiffres du cache seraient petits, et si vous paginiez beaucoup, les colonnes si et so seraient grandes. Mais ce n’est pas le cas.
Nous constatons un pic important dans bi et bo, ce qui correspond généralement à une activité disque. Je me demande si quelque chose, quelque part, est en train de construire, de réparer ou de scanner quelque chose.
Essayez peut-être de lancer ps auxrc
toutes les cinq secondes pendant une minute environ, pour voir si vous pouvez attraper un processus occupé en flagrant délit.
Il existe d’autres utilitaires qui ne sont peut-être pas encore installés : cherchez peut-être “Comment surveiller les E/S disque dans un système Linux” ou quelque chose de similaire.
Il est à noter que si vous avez des doutes sur l’intégrité de votre système, le reconstruire à partir d’une sauvegarde pourrait être le moyen le plus rapide d’avancer. Mais assurez-vous d’avoir une copie hors site de la sauvegarde, sinon deux, en cas d’accident. Et, idéalement, faites l’installation sur une nouvelle instance et conservez l’existante jusqu’à ce que la nouvelle fonctionne correctement.
Plus intéressant, c’est que vous ayez beaucoup de processus sidekiq et pourtant je vois l’annotation « 0 sur 5 occupés » – vous en avez plus de 5. Vous semblez également avoir beaucoup de threads unicorn.
Je suggère un nouveau sujet ici, avec votre sortie htop, y compris votre configuration yml quant à savoir si vous avez ajusté votre nombre d’unicorn. Demandez si cet ensemble de processus semble raisonnable.
Ah oui, j’aurais dû vérifier mon propre htop : très similaire.
Une autre idée très différente, pour l’observation initiale d’un « ralentissement » : activer le mini-profiler avec Alt-P, puis accéder à une page typique et volumineuse de votre forum, et voir quelles requêtes sont effectuées et combien de temps elles prennent, en cliquant sur le chiffre du temps qui apparaît en haut à droite.
J’ai pu faire une mise à niveau apt et aussi une reconstruction. Ce problème : Pups error on rebuild 🐕 m’empêchait de reconstruire pendant un certain temps.
Depuis la reconstruction, cela semble amélioré. Je n’aime pas fonctionner au feeling dans ce cas, je préférerais avoir des analyses et des données mesurables. J’apprécie les conseils @Ed_S, ils seront utiles pour un suivi plus poussé.
Je me demande s’il est possible de capturer certaines de ces données de profilage pour montrer la « santé » de l’instance via la page d’administration. Peut-être une idée de plugin potentiel ou une future fonctionnalité principale ?