Dépannage d'un site lent qui était assez rapide jusqu'à ce matin

Comment puis-je résoudre les problèmes d’un site devenu lent (sans raison apparente) aujourd’hui ?

L’utilisation des ressources est très faible :


Il s’agit d’un droplet SFO3 - Ubuntu 24.04 (LTS) x64 avec 16 Go de mémoire / 4 vCPU AMD / 200 Go de disque, dont 30 % du disque est utilisé.

Le statut du service de DigitalOcean est normal toute la journée.

Des utilisateurs signalent un site lent dans divers endroits.

yaml :
UNICORN_WORKERS: 8
db_shared_buffers: "1024MB"
db_work_mem: "40MB"

J’ai reconstruit vers la dernière version et donné plus de mémoire à Sidekiq UNICORN_SIDEKIQ_MAX_RSS: 1000

Quelques erreurs 429 dans la console :


Le journal des erreurs des 3 derniers jours :

que se passe-t-il en mode sans échec ?

Je n’ai pas d’erreurs dans la console en mode sans échec, mais c’est beaucoup plus lent. Il faut environ 10 à 15 secondes pour charger quoi que ce soit et les images saccadent comme si elles arrivaient via un modem 14,4 Kbps.

Il a fallu environ 20 secondes pour charger /logs. Revenir à /admin a pris environ une minute.

Un “sondage” semble prendre beaucoup de temps :

Au fait, voici les plugins en cours d’exécution :

Voici quelques points de données supplémentaires de ce matin. Sidekiq semble détendu :

Graphique de mémoire intéressant - après les reconstructions de l’application, il est d’environ 20 à 30 %, puis saute à 46 % pendant une sauvegarde et y reste :

Avez-vous installé le composant de thème « Badges célèbres dans les publications » ?

Celui-ci ?

Ouah ! Le jour et la nuit après avoir supprimé le composant Post Badges. Le désactiver n’a fait aucune différence, mais le supprimer oui. Plus d’erreurs de console non plus.

Merci @Falco !

Eh bien, j’ai peur que ce ne soit pas ça, ou du moins pas tout.\n\nMaintenant, je vois des images cassées et ceci dans la console :\n

\n\n\n\n\nToujours un chargement lent ou pas de chargement du tout avec le spinner qui tourne…\n\n

Je me demande si cela a quelque chose à voir avec le problème :

J’ai restauré Discourse à partir d’une sauvegarde il y a environ 4 semaines lorsque je l’ai déplacé d’un ancien droplet Ubuntu 16.4 LTS vers un nouveau fonctionnant sous Ubuntu 24.04. Je n’ai pas effectué de re-cuisson manuelle.

Ça devient de plus en plus étrange. Voici ce qui se passe en passant de /logs à /admin en cliquant sur le lien « Retour au site ».

Il y a eu un autre sujet récent avec l’erreur “no route named admin”.
Site Glitch Content Not Showing Up - #18 by Suresh_Suthar

Peut-être que cela est également lié à Cloudflare
Resolving "SyntaxError: Unexpected identifier #..." caused by Cloudflare Auto Minify

Hmm. La mienne n’utilise pas Cloudflare, mais j’ai vu un en-tête dupliqué dans Chrome, comme dans le premier post là-bas.

Je viens de reconstruire sans plugins autres que docker_manager, donc je vous dirai comment cela se comporte.

Une autre chose à noter est que lorsqu’il se bloque dans Chrome, j’ai dû fermer cet onglet et en ouvrir un nouveau. Le rechargement forcé n’a rien fait.

Maintenant, la sauvegarde nocturne vers S3 échoue sans aucun changement dans la configuration :

[2024-10-10 15:03:04] Uploading archive...
[2024-10-10 15:14:33] EXCEPTION: multipart upload failed: Net::WriteTimeout with #<TCPSocket:(closed)>

EDIT : Deux sauvegardes déclenchées manuellement ont échoué avec la même erreur ci-dessus, mais ensuite deux sauvegardes manuelles ont réussi. Le tout sans aucun changement dans la configuration. :person_shrugging:

Je ne vois pas d’erreurs dans la console, juste des temps de chargement très lents par intermittence :

Discourse Doctor semble bien fonctionner lors d’une exécution, puis lors d’une seconde exécution signale que le port 587 est probablement bloqué, ce qui est étrange car il a livré le courrier de test lors de la première exécution, puis à nouveau avec succès lors de la troisième exécution :

La connexion au port 587 a échoué.
====================================== SOLUTION =======================================
Le problème le plus probable est que votre serveur bloque le trafic SMTP sortant.
Si vous utilisez un service comme Mailgun ou Sendgrid, essayez d'utiliser le port 2525.

Ai-je raison de penser qu’il y a quelque chose d’étrange avec cette gouttelette DigitalOcean ?

Il semble que ce droplet ait des problèmes de réseau - le téléchargement est assez lent, mais notez la vitesse d’envoi :scream::

speedtest-cli
Retrieving speedtest.net configuration...
Testing from Digital Ocean (24.199.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Next Level Infrastructure (Santa Clara, CA) [4.38 km]: 2.242 ms
Testing download speed................................................................................
Download: 839.25 Mbit/s
Testing upload speed......................................................................................................
Upload: 1.27 Mbit/s

Voici la conclusion heureuse de cette saga…

Après avoir exécuté les tests de débit réseau speedtest-cli et iperf3 qui ont montré des vitesses abyssalement lentes entre le droplet et le monde extérieur, j’ai demandé à DigitalOcean d’enquêter et ils ont conclu après avoir effectué leurs propres tests :

Nous avons découvert des problèmes avec l’hyperviseur où se trouve votre Droplet. Nous travaillons avec notre équipe backend pour migrer votre Droplet vers un autre hyperviseur.

Tout va bien à nouveau.