محاولة استكشاف عنق زجاجة انتظار الإدخال/الإخراج

النسخة المختصرة:

  • تعطل النظام لبضع دقائق بسبب iowait تحت حمل متوسط
  • لم يكن هناك أي نشاط ملحوظ في إدخال/إخراج القرص في ذلك الوقت
  • يؤكد DigitalOcean عدم وجود نشاط غير عادي على جهاز الهيبرفايزر

النسخة المفصلة:
يعمل النظام حاليًا على قطرة (Droplet) ذات 8 أنوية و16 جيجابايت من الذاكرة العشوائية على DigitalOcean، وقد تم ترقيتها مؤخرًا من 4 أنوية و8 جيجابايت استعدادًا لحركة مرور ثقيلة متوقعة على المدى القصير.

في ذلك الوقت، كانت قيمة db_shared_buffers مضبوطة على 2 جيجابايت، وعدد عمال Unicorn على 8. وقد قمت منذ ذلك الحين بزيادة كلا القيمتين.

تم نشر محتوى كثيف حول موضوع واحد خلال حدث مباشر استمر ساعتين تقريبًا، مع ما يقرب من 200 مستخدم إجمالي خلال تلك الفترة، بمتوسط حوالي 70 مستخدمًا في أي لحظة وفقًا لتحليلات الموقع.

كان النظام مستقرًا لأكثر من ساعة. بقيت متوسطات الحمل حول 4، واستخدمت وحدة المعالجة المركزية حوالي 30%، بينما استُخدمت الذاكرة بنسبة 35% تقريبًا. لم يكن هناك نشاط ملحوظ في القرص، ولم تظهر أي مشاكل في المنتدى.

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

في نفس الوقت، ارتفعت قيمة iowait إلى مستويات حرجة (أحمر) مع تحذيرات مستمرة تتجاوز 50%. قفز متوسط الحمل خلال دقيقة واحدة إلى 12، وتجاوز متوسط الخمس دقائق 8. أصبح النظام بأكمله غير مستجيب بشكل كبير، وتباطأ المنتدى حتى توقف تقريبًا، وحدثت العديد من عمليات تسجيل الخروج المؤقتة بسبب الحمل العالي. لم تتجاوز وحدة المعالجة المركزية 40% أبدًا.

استمر هذا الوضع لمدة 3-4 دقائق، ثم عاد كل شيء تدريجيًا إلى طبيعته خلال الـ 10 دقائق التالية. ظلت عمليات إدخال/إخراج القرص أقل من 1 ميجابايت في الثانية طوال الوقت حسب رسوم DigitalOcean، ومعظمها عمليات كتابة.

هل من الممكن أن يكون هذا مشكلة تتعلق بالمنتدى أو الإعدادات؟ هل يكذب DigitalOcean وأن المشكلة حقيقية في العتاد؟ إذا كانت المشكلة في الإعدادات، فهل لديك أي اقتراحات لمنع تكرارها (لم تكن هذه هي المرة الأولى)؟

لدي حدث ثقيل آخر غير عادي قريب جدًا سيكون بالغ الأهمية للمجتمع. لا أملك رفاهية التجربة والخطأ لمعرفة ما ينجح. لدي فرصة واحدة فقط للحصول على النتيجة الصحيحة (أو الخاطئة).

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