投稿移動の長時間化/タイムアウトエラー

自己ホスト型のDiscourseフォーラム(tff-forum.de)を運営しており、400万件以上の投稿と多数の大きなスレッドがあります。

バージョン3.4.0.beta3にアップデートして以来、投稿を別のスレッドに移動する際に15〜20秒という長い実行時間が発生しています。

場合によっては、機能がエラーで終了し、ログに次のメッセージが表示されます。

Unicorn worker received USR2 signal indicating it is about to timeout, dumping backtrace for main thread

アップデート前は、非常に大きなスレッド間で投稿を移動する場合にのみ問題が発生していました。しかし現在では、スレッドに少数の投稿しか含まれていない場合でも、機能が時々終了します。

この問題の原因を特定するために確認できることはありますか?データベースに問題(インデックス/統計情報の欠落)がある可能性はありますか?

ご支援ありがとうございます。

「いいね!」 1

beta3 にはパフォーマンスの問題があるコミットがいくつかありました。アップグレードすることをお勧めします。

注: PostgreSQL 15 アップデートにより、アップグレードが複雑になります。

「いいね!」 1

3.4.0.beta4 へのアップデートに関するアドバイスをありがとうございます。PostgreSQL をバージョン 15 に変更するため、より長いメンテナンス時間枠が必要になります。しかし、この問題が解決するかどうかを確認するために、数日中にアップデートを実行するのは理にかなっています。

PostgreSQL のアップデートには少し驚きました。数日前にテストシステムを 3.4.0.beta3 にアップデートしたときは問題ありませんでした。本番システムをアップデートしたところ、データベースのアップデートが突然プロセスの一部になりました。私たちはその準備ができておらず、データベースのアップデートをスキップしました。そのため、バージョン 3.4.0.beta4 と一緒に実行するか、その前に個別のステップとして実行する必要があります。

スキップされたデータベースのアップデートがパフォーマンスの問題を引き起こしている可能性はありますか?データベースのインデックスと統計が正しいかどうかを確認する簡単な方法はありますか?

おそらくないでしょう。

PGの更新トピックで提案されているvacuumおよびreindexコマンドは、いつでも実行できます。