مناقشة حول RDS تؤدي بشكل دوري إلى العديد من Lock:relation waits لإنشاء جلسات GIN index

نلاحظ بشكل دوري أن إنشاء فهرس GIN على post_search_data يؤدي إلى الكثير من Lock:relations في performance insight. يؤدي إنهاء الجلسة التي تنشئ هذا الفهرس إلى تحرير جميع الجلسات المحظورة. المثير للاهتمام هو أن الفهرس يستخدم 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. التطبيق وقاعدة البيانات ليسا على دوكر ولكن مستضافان بشكل فردي (ec2، rds).

لن أتمكن من مساعدتك في المشكلة المحددة التي تثيرها، ولكن هل هناك سبب لوجودك على إصدار قديم جدًا من Discourse؟ كلما انتظرت أكثر، زاد احتمال مواجهتك لمشاكل عند الترقية. من الناحية المثالية، يجب أن تكون دائمًا على آخر إصدار. بالإضافة إلى ذلك، تتضمن التحديثات أحيانًا إصلاحات أمنية.

إعجاب واحد (1)

أنا أدير موقعًا على ecs مع rds ولم ألاحظ أي مشاكل، ولكنه إصدار محدث. من الصعب تخمين ماهية المشكلة بالضبط دون مزيد من التفاصيل حول إعداداتك.

بشكل عام، عندما يواجه شخص مشكلة مع إصدار قديم جدًا، يكون الرد الأول هو الترقية.

إعجابَين (2)

حسناً. شكراً على ملاحظاتك.

إعجاب واحد (1)