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.