كانت الألعاب شحيحة (بفضل كوفيد)، لذا لم تكن لدينا سوى فرص قليلة لقياس هذا الأمر وتعديله.
ما اكتشفناه هو أنه حتى مع مواردنا المحسّنة من العتاد (6+4 أنوية افتراضية و16+8 جيجابايت من ذاكرة الوصول العشوائي)، فإن جمهورًا نشطًا بشكل متواضع قادر على التسبب في 429 حالة تجمّد للعميل. رأينا ذلك في مباريات كأس العالم U20، التي جذبت حوالي 50% من جمهورنا المعتاد للألعاب في غرف الدردشة.
من خلال القياس والتجربة والخطأ، اعتمدنا التعديلات التالية:
DISCOURSE_REJECT_MESSAGE_BUS_QUEUE_SECONDS: 0.4
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE: 400
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS: 100
يبدو أن هذا يلغي 80% من حالات الخطأ 429، مما يتيح تجربة سلسة نسبيًا لجزء كبير من المستخدمين.
كانت الخطوة التالية هي شراء أنواع مختلفة من موارد العتاد، إما باستخدام أجهزة مخصصة لسرعة الخيط الواحد أو التحول إلى مزود خدمة VPS يقدم خططًا بعدد هائل من الأنوية الافتراضية. أما بالنسبة لنا، فإن الخطوة التالية هي العمل مع فريق استضافة Discourse، كما أشار سام سابقًا.
نأمل أن تكون هذه التعديلات مفيدة لـ @iceman و @alec أو أي شخص آخر. تأكد من مراقبة استخدام وحدة المعالجة المركزية وطابور الانتظار. كما أن ما تعلمته من هذه التجربة هو أن حاويتين أفضل بشكل كبير من حاوية واحدة - حيث يمكن تطبيق التعديلات مع توقف شبه معدوم، واستغلال موارد العتاد بشكل أكثر دقة.
ما زلت مهتمًا بأي تعديلات أو اكتشافات جديدة قد تساعد في تحسين الأداء وتجربة المستخدم في المناقشات السريعة التي تدفعها الأحداث الواقعية.