تحسين موقع Discourse متعدد المواقع الكبير: اختناقات قاعدة البيانات و Sidekiq

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

إعداد app.yml الحالي الخاص بي هو:

  • UNICORN_WORKERS: 4
  • UNICORN_SIDEKIQS: 4
  • DISCOURSE_SIDEKIQ_WORKERS: 10
  • DISCOURSE_DB_POOL: 8

بناءً على ملاحظاتي، فإن عنق الزجاجة لا يصل إلى حد اتصال صارم، بل إلى الحجم الهائل للمهام التي تتنافس على موارد قاعدة البيانات في نفس الوقت. قوائم الانتظار في Sidekiq تمتلئ باستمرار، مما يجعل الموقع بطيئًا، حتى للمهام الإدارية الأساسية.

أبحث عن نهج عام لضبط النظام لتحقيق الاستقرار والأداء. على وجه التحديد، أود أن أفهم أفضل الممارسات لـ:

  • تزامن Sidekiq: كيف يجب تحديد حجم DISCOURSE_SIDEKIQ_WORKERS في بيئة متعددة المواقع للتعامل مع حجم مهام كبير دون الضغط على قاعدة البيانات؟
  • فصل قوائم الانتظار: هل يُنصح بتشغيل عمليات Sidekiq منفصلة للتعامل مع قوائم انتظار مختلفة (على سبيل المثال، الأولويات critical مقابل low)؟ سيضمن ذلك عدم قيام المهام الثقيلة بحظر المهام الأكثر إلحاحًا.

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

شكرًا!

3 إعجابات

يجب أن يتكيف Discourse تلقائيًا مع موارد نظامك. لاحظ أنه من الآمن إعادة تشغيل البرنامج النصي ./discourse-setup إذا قمت مؤخرًا بزيادة موارد نظامك. يمكن للبرنامج النصي التكيف مع الموارد المتزايدة وتعديل ملف .yml الخاص بك وفقًا لذلك.

إعجابَين (2)

يبدو أنك بحاجة إلى عدد أقل؟

أنا متأكد من أنه يعرف بالفعل إعطاء الأولوية للمهام ذات الأولوية العالية.

إعجابَين (2)

@itsbhanusharma @pfaffman شكراً لمساعدتكما ومدخلاتكما في هذا الأمر! أقدر لكما تخصيص وقتكما لمشاركة خبراتكما.

4 إعجابات

إذا كانت قاعدة البيانات هي عنق الزجاجة، فهل فكرت في الانتقال إلى نوع مثيل أكبر لقاعدة بياناتك السحابية؟

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

تم إغلاق هذا الموضوع تلقائيًا بعد 30 يومًا من آخر رد. لم تعد الردود الجديدة مسموح بها.