Alors, merci beaucoup ! Arrêter manuellement les services à l’intérieur du conteneur a apparemment fait l’affaire, et j’ai pu reconstruire le double conteneur pour la mise à niveau (avec les variables de locale ajustées comme discuté ci-dessus - note annexe : j’ai vérifié la documentation d’installation et je ne pense pas qu’elle mentionne les locales ; ce serait peut-être un bon ajout).
Malheureusement, l’analyse des processus problématiques n’a pas été concluante. La seule chose que je vois, ce sont des éléments liés à Postgres comme WalWriter, AutoVacuum, etc. Le seul indice que j’ai, c’est que lorsque je redémarre le système et aussi après des changements d’index lors des mises à jour, je constate généralement une charge CPU élevée pour postgres pendant environ une demi-heure.
Et quand j’ai vérifié pg_stat_activity aujourd’hui après le redémarrage, j’ai vu deux requêtes de longue durée (du moins si ma compréhension des colonnes est correcte) :
SELECT "posts"."id" FROM "posts" INNER JOIN "topics" ON "topics"."deleted_at" IS NULL AND "topics"."id" = "posts"."topic_id" LEFT JOIN post_search_data ON post_id = posts.id WHERE "posts"."deleted_at" IS NULL AND (posts.raw != '') AND (topics.deleted_at IS NULL) AND (post_search_data.locale IS NULL OR post_search_data.locale != 'de' OR post_search_data.version != 5) ORDER BY posts.id DESC LIMIT 20000
et
SELECT "optimized_images".* FROM "optimized_images" WHERE "optimized_images"."upload_id" = 13 AND "optimized_images"."height" = 32 AND "optimized_images"."width" = 32 LIMIT 1
Après les 30 minutes mentionnées ci-dessus, la première a apparemment été terminée et la charge CPU de postgres est maintenant normale.
Je ne suis pas sûr pourquoi ces deux requêtes prennent autant de temps et encore moins pourquoi la seconde apparaît toujours dans pg_stat_activity après plus d’une heure, mais potentiellement de telles requêtes de longue durée ont empêché le service postgres de s’arrêter correctement lors de la tentative de reconstruction plus tôt.
Si vous avez une piste ici, ce serait très apprécié. Mais potentiellement, c’est aussi quelque chose qui pourrait faire l’objet d’un autre fil de discussion (si c’est le cas, faites-le moi savoir, et j’éditerai ce post).
Captures d’écran associées :
