Je reçois constamment ceci dans les journaux - avec des valeurs comprises entre ~100k et ~1.35m - mais les lectures proches de 100k semblent assez courantes :
Votre connexion réseau Redis est extrêmement lente. Les dernières lectures RTT étaient [97069, 103986, 98459, 100762, 381617], idéalement elles devraient être < 1000. Assurez-vous que Redis s'exécute dans la même zone de disponibilité ou centre de données que Sidekiq. Si ces valeurs sont proches de 100 000, cela signifie que votre processus Sidekiq peut être saturé en CPU ; réduisez votre concurrence et/ou consultez https://github.com/mperham/sidekiq/discussions/5039
Cela indique peut-être que Redis n’est pas en mesure d’utiliser suffisamment de CPU ? Il semble y avoir beaucoup de marge pour le CPU et la RAM sur le serveur lui-même cependant.
Aussi : Sidekiq consomme trop de mémoire (utilisant : 3570.19M) pour 'www.example.com', redémarrage
Ceci utilise l’application tout-en-un app.yml avec Discourse stable 3.3.2.
Depuis app.yml :
UNICORN_SIDEKIQS: 9
DISCOURSE_SIDEKIQ_WORKERS: 5
J’ai également ajouté cette configuration à l’hôte :
Pour faire suite à cela, je rencontre le même problème avec Jobs::PostAlert :
Avec ces tâches qui durent souvent jusqu’à 15 minutes lorsque l’on utilise 4 Sidekiqs avec 5 threads (par défaut) lors des tests actuels. Il semble que la vitesse des tâches par seconde pour Sidekiq dépende principalement du nombre de ces tâches exécutées simultanément et du nombre de threads disponibles pour les autres tâches.
Augmenter le nombre de Sidekiqs à 6 ou plus (5 threads) augmentera la vitesse de traitement de la file d’attente, mais postgres plantera assez régulièrement (je suppose à cause d’un trop grand nombre de tâches Jobs::PostAlert exécutées simultanément).
Ceci est sur Stable 3.3.2. Les changements et corrections du fil de discussion lié semblent déjà implémentés dans la version 3.3.2, si je ne me trompe pas.
J’ai examiné votre historique de publications et je vois dans Problème Sidekiq très lent… un nombre énorme de notifications utilisateur non lues que vous utilisiez un serveur de 32 cœurs avec 128 Go de RAM, avec une base d’utilisateurs très importante et active. Dans ce contexte, je comprends pourquoi 34 Go n’est pas un chiffre si énorme ! Pour information, cependant, il pourrait être utile (et intéressant) de connaître la taille de votre installation - peut-être ici ou même dans votre biographie ? (peut-être les utilisateurs actifs quotidiens et mensuels, la taille des sauvegardes de la base de données, la configuration du serveur en RAM, swap, disque, CPU.) Peut-être même un fil de discussion où nous partageons simplement nos statistiques - grandes et petites.