RDSでのディスコースは、GINインデックス作成セッションの多くのLock:relation待機を周期的に引き起こします

時折、post_search_data に GIN インデックスを作成すると、パフォーマンスインサイトで多数の Lock:relations が発生することがあります。このインデックスを作成しているセッションを終了すると、ブロックされていたすべてのセッションが解放されます。興味深いのは、インデックスが「concurrently」を使用していることです。これはブロック操作ではないはずです。また、なぜ temp がプレフィックスとして付いているのかも興味深いです。

CREATE INDEX CONCURRENTLY temp_idx_recent_regular_post_search_data  ON post_search_data USING GIN(search_data) WHERE NOT private_message AND post_id >= 12431619

idle_in_transaction_session_timeout を 10 分に(最初は 1 日に設定されていました)減らそうとしましたが、違いはありませんでした。他にこのような問題に遭遇した人はいますか?もしあれば、どのように対処しましたか?

バージョンは Discourse 2.7.0、Postgres バージョンは 13.8 です。アプリと DB は Docker 上ではなく、個別にホストされています(ec2、rds)。

お尋ねの具体的な問題についてはお手伝いできませんが、なぜそんなに古い Discourse バージョンを使用しているのですか? 待てば待つほど、アップグレード時に問題が発生する可能性が高くなります。理想的には、常に最新バージョンを使用する必要があります。さらに、アップデートにはセキュリティ修正が含まれることもあります。

「いいね!」 1

ECSとRDSでサイトを管理していますが、問題は特にありません。最新バージョンです。あなたのセットアップの詳細が分からないと、問題の原因を推測するのは難しいです。

一般的に、非常に古いバージョンで問題が発生した場合、最初に行うべきことはアップグレードです。

「いいね!」 2

承知いたしました。フィードバックありがとうございます。

「いいね!」 1