زيادة استخدام وحدة المعالجة المركزية منذ ترقية 3.4.0.beta4-dev (58f75ed205)

لقد شهدت زيادة كبيرة في استخدام وحدة المعالجة المركزية منذ الترقية في نهاية هذا الأسبوع. يبدو أن استخدام وحدة المعالجة المركزية لـ RUBY هو المحرك الرئيسي. وقد أشار إلى هذا مستخدم آخر في هذا الموضوع.

كما ترى من الرسوم البيانية أدناه، كان استخدام وحدة المعالجة المركزية والحمل قبل الترقية أقل بكثير مما كان عليه بعد الترقية. تمت الترقية في مساء يوم 31/1.

إليك صورتان لـ TOP مأخوذتان بفارق 33 ساعة:

في 33 ساعة، هناك استخدام كبير لوحدة المعالجة المركزية لـ ruby. بناءً على بيانات TOP، شهدت استخدامًا لوحدة المعالجة المركزية بمقدار ضعفين في آخر 33 ساعة على مدار 22 يومًا. في 33 ساعة، شهدت 11 ساعة من وقت وحدة المعالجة المركزية. (648 دقيقة من وقت وحدة المعالجة المركزية عبر 5 معرفات عمليات).

بيانات إضافية:

  • انخفضت حركة المرور خلال اليومين الماضيين بنحو 10٪. (تحليلات ولوحة معلومات)
  • تثبيت discourse قياسي في حاوية واحدة (بدون دردشة)
  • قوائم انتظار Sidekiq قليلة (1 ألف إلى 2 ألف يوميًا)
  • لا يبدو أن هناك أي شيء غير عادي في سجلات discourse
  • أعمل على خادم DO بسعة 8 جيجابايت من ذاكرة الوصول العشوائي و 2 من وحدات المعالجة المركزية AMD الافتراضية.

هذه ليست حالة يكون فيها الخادم معطلاً بشكل حرج، ولكن الخوادم التي تعمل بنسبة 5٪ إلى 7٪ تكون أفضل بكثير من تلك التي تعمل بنسبة 25٪.

ما هي المعلومات التي يمكنني تقديمها للمساعدة في استكشاف هذه المشكلة وإصلاحها؟

شكرًا مقدمًا.

3 إعجابات

دعنا نترك هذا في الدعم لفترة حتى نحدد ما إذا كانت هناك مشكلة.

هل يمكنك الدخول إلى الحاوية وتشغيل htop من الداخل (ستحتاج إلى تثبيته) بهذه الطريقة ستتمكن من معرفة العملية المحددة التي تستهلك كميات كبيرة من وحدة المعالجة المركزية.

يمكنك الحصول على مزيد من الرؤية باستخدام تقنية مثل هذه: Debugging 100% CPU usage in production Ruby on Rails systems

على الأرجح، سيكون sidekiq /sidekiq محملاً بشكل زائد بطريقة ما على مثيلك. (سألقي نظرة على المجدول بشكل خاص)

عروض htop.

إليك فيديو مدته 30 ثانية:

لقطات شاشة عشوائية:

عرض الشجرة:

sidekiq:


أخبرني إذا كان هناك شيء محدد تحتاج إلى رؤيته. أنا

إعجابَين (2)

نعم، هناك خطأ ما:

top -H -p PID_OF_UNICORN

أشك في أنك سترى V8 DefaultWorker هناك، أعتقد أن هذا تراجع في mini_racer… سأقوم بالتراجع عنه لمعرفة ما إذا كان هذا يحل المشكلة.

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

حسنًا، تم التراجع عن هذا الآن،

أخبرني إذا كان الالتزام يعيد الأداء.

6 إعجابات

نعم، لقد حلّت مشكلة ارتفاع استهلاك وحدة المعالجة المركزية. إن استهلاك وحدة المعالجة المركزية لديّ لمدة دقيقة واحدة وخمس دقائق هو حوالي ثلث القيم السابقة. هذا مع تشغيل htop و netdata الآن على النظام.

فيديو HTOP

رسم بياني للحمل

أتوقع أن ينخفض استخدام وحدة المعالجة المركزية والحمل ببطء مع زيادة تخزين استعلامات قاعدة البيانات مؤقتًا في النظام.

جدول الحمل:

الوقت قبل الإصلاح بعد الإصلاح
دقيقة واحدة 0.4 إلى 0.6 0.06 إلى 0.1
5 دقائق 0.39 إلى 0.5 0.15 إلى 0.18

يتأثر مقياس الـ 15 دقيقة بإعادة بناء. سأنشر بعض الإحصائيات الإضافية في وقت لاحق هذا الصباح.

شكرًا لك على الإصلاح المتأخر.

3 إعجابات

عذرًا على هذا، لقد كان ترقية mini_racer مغامرة كبيرة. نأمل أن نمر بها قريبًا.

3 إعجابات

شكراً على الاستجابة السريعة للتحقيق.
أنا متأكد من أن لديك أمورًا أخرى مخططًا لها لهذا اليوم بخلاف التراجع.
بصفتي مستخدمًا جديدًا لـ Discourse، بعد أسبوعين من الترحيل، كان المنتج رائعًا للعمل معه.

إعجابَين (2)

قصة مشابهة هنا أيضاً.

[تعديل: يبدو أنه تم إصلاحه الآن بعد التحديث إلى أحدث فرع]

هنا مراجعة أداء بعد 18 ساعة من إعادة البناء. جدول التحميل يقول كل شيء.

جدول التحميل:

الوقت قبل الإصلاح بعد الإصلاح
دقيقة واحدة 0.4 إلى 0.6 0.03 إلى 0.05
5 دقائق 0.39 إلى 0.5 0.09
15 دقيقة 0.68 0.12

وسيلة إيضاح:

  • سهم أحمر - تم إعادة بناء التطبيق
  • سهم بنفسجي - تم إيقاف netdata

ملاحظة، لإغلاق الحلقة، كان الخطأ الذي تسبب في ذلك هو:

لقد قمت بتحديث الجيم. تتمثل إحدى المزايا الفورية في أن هذه النسخة من v8 تستخدم ذاكرة أقل قليلاً، وهو أمر لطيف.

6 إعجابات

لقد قمت بتثبيت آخر إصدار الليلة الماضية مع الإصلاح. عاد استخدام وحدة المعالجة المركزية إلى المستويات التاريخية.

شكراً لكم على كل العمل الرائع.

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.