المستخدمون يُطردون من الموضوع، هل يلزم المزيد من الذاكرة؟

اليوم، شهد منتداي أول ارتفاع مفاجئ في حركة المرور، وواجه المستخدمون أول مشكلة كبيرة. كانوا يتلقون رسائل تفيد بتسجيل خروجهم كل 5-10 دقائق، ثم يُعاد توجيههم إلى الشاشة الرئيسية، لكن في معظم الحالات ظلوا مسجلين الدخول.

منتداي مستضاف على قطرة أساسية من Digital Ocean، بمعالج مشترك، وذاكرة عشوائية 1 جيجابايت، وقد كان نشطًا لمدة أسبوع تقريبًا.

حدث هذا الارتفاع المفاجئ أثناء المباراة، حيث نُشر 400 منشور في موضوع واحد خلال 90 دقيقة (بينما كان الناس يتابعون المباراة). بدا أن هناك ما بين 40 إلى 60 ناشرًا متصلين خلال هذه الفترة، ولا أعتقد أن هناك العديد من المشاهدين المجهولين (لدينا 250 شخصًا مسجلًا في المجموع).

هذا أول منتدى لي على الإطلاق، فهل يُعتبر هذا الحد الأقصى لقطرة منخفضة المواصفات؟

بدى أن استخدام وحدة المعالجة المركزية بلغ ذروته عند 60%، وظل المنتدى سريعًا واستجابيًا خلال المباراة.

لا توفر Digital Ocean رسمًا بيانيًا للذاكرة، لكنني دخلت إلى وحدة التحكم مباشرة بعد المباراة ووجدت أن الاستخدام بلغ 87% (مع ذاكرة افتراضية بحجم 2 جيجابايت بنسبة 37% تقريبًا).

ما هو الإجراء الموصى به؟

  • الترقية إلى قطرة بحجم 2 جيجابايت للمباراة القادمة ورؤية كيف تسير الأمور؟
  • إعادة البناء، ربما بإزالة بعض الإضافات؟
  • تعديل العتبة التي تثير الحدث؟

أعتذر عن سذاجتي، فلا أزال في مرحلة التعلم.

نعم، سأجرب ذلك أولاً.

بخصوص خروج المستخدمين “عشوائيًا من تسجيل الدخول”.. لم أسمع بهذا من قبل.. هل تقصد هذا الإشعار في أعلى الموضوع؟

بسبب الحمل الشديد، يتم عرض هذا مؤقتًا للجميع كما يراه المستخدم غير المسجل

سيتم تعطيل البحث تلقائيًا أيضًا في حالات الحمل الثقيل هذه.

شكرًا لك على الرد السريع. سأفعل بالضبط ذلك.

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

رأى الغالبية العظمى هذا الإشعار وتم إعادة توجيههم ببساطة. لا شيء أكثر من ذلك.

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

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

أتساءل ما إذا كان هناك خطأ في تثبيتك. هل قمت بالتثبيت باستخدام دليل التثبيت الرسمي الخاص بنا؟ هل هناك أي إضافات غريبة من جهات خارجية؟

نعم، هذه هي التعليمات التي اتبعتها.

من الممكن جدًا أن يكون قد حدث خطأ ما مني أثناء التثبيت.

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

الإضافات التي قمت بتثبيتها هي:

مدير Docker
أدوات قانونية
من متصل الآن
شريط تنسيق

لذا أعتقد أنها إضافات قياسية إلى حد ما

يمكن أن يكون عنصر “من متصل” مصدرًا كبيرًا لاستنزاف الموارد على وجه الخصوص.

هل يُعتبر وجود عدد كبير جدًا من المظاهر (Skins) أيضًا استنزافًا كبيرًا للموارد؟

فقط كتحديث للموضوع.

لم يبدو أن ترقية الذاكرة (من 1 جيجابايت إلى 2 جيجابايت) أحدثت تأثيرًا كبيرًا خلال الذروة الأخيرة. على الرغم من أنني لم أقوم أبدًا بتعديل أو إعادة بناء ملف app.yml، لذا لا أعرف ما إذا كان ذلك سيحدث فرقًا؟

أما ترقية المعالج من وحدة معالجة مركزية افتراضية واحدة إلى وحدتين فقد بدت أنها حققت النتيجة المطلوبة. :+1:

كنا مشغولين جدًا مؤخرًا بتوقيع لاعبين جدد، ولم يبلغ أحد عن تسجيل خروج. اختبار كبير غدًا مع مباراة كبيرة جارية، لكن يبدو أن الأمور على ما يرام.

ستحتاج إلى تحديث ملف app.yml وإعادة البناء للاستفادة الكاملة من هذه الترقيات.

يجب أن تكون قيمة db_shared_buffers بنسبة 25% من ذاكرة النظام الخاصة بك، أي ما يعادل 512 ميجابايت. من المرجح أن إعدادك الحالي هو 256 ميجابايت.

أما unicorn_workers فيجب أن يكون بمعدل عميلين لكل نواة، لذا قم بتغييره من 2 إلى 4.

سأفعل ذلك اليوم. شكرًا لك!

كيف سارت الاختبارات أمس؟ هل ساعدت الترقيات؟

أفضل بكثير بكثير، شكرًا لك :slightly_smiling_face:.

على عكس المرة السابقة، حيث كان الأمر مزعجًا باستمرار (يحدث كل 4 أو 5 دقائق) أثناء اللعبة في عطلة نهاية الأسبوع، لم يبدو أنه مشكلة كبيرة هذه المرة.

يبدو أن قلة من المستخدمين تلقوا رسالة “حمل ثقيل” مرة واحدة فقط أثناء اللعبة. لكن لم يتم طرد أي منهم من الموضوع.

كان الانتقال إلى منصة Discourse نجاحًا ساحقًا، حيث ظهرت العديد من المشاركات من مستخدمين لم نشاهدهم منذ سنوات (زيادة في عدد المستخدمين بنسبة 50% على الأقل). لذا، خلال أسبوعين، سأنتقل من Digital Ocean إلى Hetzner للحفاظ على التكلفة مع توفر خادم أكثر قوة للتعامل مع الذروات (رغم أنني مغرّوة برفع مستوى الخادم وخفضه مؤقتًا خلال تلك النافذة الأسبوعية التي تستغرق ساعتين).