Jobs::PeriodicalUpdates هو سبب ارتفاع وحدة المعالجة المركزية (أكثر من 100٪)

Jobs::PeriodicalUpdates هو سبب ارتفاع وحدة المعالجة المركزية (أكثر من 100٪)

عندما نتحقق من: sidekiq/scheduler/history

أرى أن Jobs::PeriodicalUpdates وصل إلى 79 ثانية. مما تسبب في زيادة وحدة المعالجة المركزية، والمستخدمون الذين يصلون إلى الموقع خارج الخدمة.

هل يؤدي إيقاف تشغيل Jobs::PeriodicalUpdates إلى أي تأثير؟ كيف يمكن إيقافه؟
وأيضًا، Jobs::AboutStats ; Jobs::DestroyOldDeletionStubs ; Jobs::DirectoryRefreshDaily ; Jobs::EnsureDbConsistency
تتسبب أيضًا في ارتفاع وحدة المعالجة المركزية فوق 100٪.

كيف يمكنني حل هذه الأخطاء؟

ما هي أجهزتك، وذاكرة الوصول العشوائي، ووحدة التخزين ذات الحالة الثابتة؟ ما هو حجم قاعدة بياناتك؟ كم عدد المنشورات؟

لدينا حوالي 600 ألف موضوع.
400 جيجابايت SSD، 16 نواة CPU. بالنسبة لذاكرة الوصول العشوائي، لا أرى أنها ممتلئة.

أتلقى هذه الأخطاء عند إعادة بناء discourse (كانت تعمل بشكل جيد قبل إعادة البناء).

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

هممم. هذا غريب. ربما خطأ.

نأمل أن يساعد الجميع.
هل يمكن لأحد أن يخبرني:

في الوظائف::التحديثات الدورية . مهمة
ماذا تعتقد أن هذه الوظائف::التحديثات الدورية تعني؟
هل من الممكن تعطيل الوظائف::التحديثات الدورية؟

أعتقد أن هذه هي قائمة المهام التي تستخدمها هذه الوظيفة: discourse/app/jobs/scheduled/periodical_updates.rb at 1472e47aae5bfdfb6fd9abfe89beb186c751f514 · discourse/discourse · GitHub

أنا لست خبيرًا لتحليل هذا، أرى إعدادين مذكورين

  • automatically download gravatars، لا أعتقد أن هذا قد يفسر الاستخدام العالي لوحدة المعالجة المركزية
  • rebake_old_posts_count تم إخفاء هذا الآن، ولكن ربما قمت بإعداد الكثير من المشاركات القديمة لإعادة الخبز كل 15 دقيقة منذ أشهر. قد يفسر هذا الاستخدام لوحدة المعالجة المركزية أكثر قليلاً

حسنًا ، بعد 15 دقيقة ، يتم تشغيل التحديثات الدورية.
إذا كان هذا هو السبب ، فكيف يمكنني إيقاف: rebake_old_posts_count؟

هل كان هذا أول ترقية منذ فترة طويلة؟ أعتقد أنك من المحتمل أن تقوم بتغيير حجم الصور بسبب تغيير حدث منذ فترة. سيعمل هذا بشكل أفضل على المدى الطويل.

كان آخر ترقية لي، 2.7.x (لا أتذكر الرقم الدقيق لـ x)

آمل أن يتمكن شخص ما من مساعدتي

لا يمكنك إيقاف تشغيله. كانت هناك تغييرات تتطلب إعادة خبز. إذا كان لديك موارد كافية، فقد تتمكن من تعديل الأشياء لتحسين الأداء.

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

:slight_smile: أعتقد أن هناك طريقة للتعامل مع الخطأ،
الأمر فقط أن مستوى التكنولوجيا لدي محدود.

هل قمت بتشغيل discourse-setup بعد أن حصل هذا الخادم على تلك الموارد؟ قد لا يستفيد منها على النحو الأمثل.

لكنني متأكد تمامًا من أن المهام التي يقوم بها يجب أن تتم، لذلك لا تريد إيقافها.

الآن تم إخفاء rebake_old_posts_count، كيف يمكنني جعله مرئيًا؟ أريد تقليل القيمة.