مرحباً، لقد بدأت منتدي Discourse الخاص بي على خادم Droplet من Digital Ocean بسعة 4 جيجابايت من ذاكرة الوصول العشوائي، ومعالجين افتراضيين، وقرص SSD بسعة 60 جيجابايت.
نما موقعي، وفي لحظات معينة، تلقى المستخدمون الرسالة: “بسبب الحمل الشديد، يتم عرض الموقع كمستخدم غير مسجل”. إنه موقع رياضي، وقد حدث ذلك في بعض الأحداث التي حظيت باهتمام كبير.
أعتقد أن الرسالة ظهرت عندما وصلنا إلى 250 مستخدمًا متصلًا.
في ملف app.yml، لدي 2 عملية Unicorn وذاكرة مشتركة لقاعدة البيانات (db_shared_buffer) بسعة 768 ميجابايت.
أرغب في تغيير حجم الخادم (Droplet)، فما الحجم الذي تنصح به؟
شكرًا لك
قد ترغب في الانتظار، حيث تم إدخال كود سيء أضاف استعلامات N+1 و N+2 متعددة. cc @sam، هل يحتوي أحدث إصدار على الإصلاحات بعد؟
الإصدار الأخير يحتوي على أحدث الإصلاحات، ولكن كموقع رياضي قد تكون ببساطة مثقلًا.
لا يبدو أن وحدتين من unicorns كافيين، فبالنسبة لـ 250 مستخدمًا نشطًا غير مجهول الهوية، ستحتاج إلى المزيد من عمال الويب.
شكرًا لك، ما الحجم الذي تقترحه؟ هل 8 جيجابايت من ذاكرة الوصول العشوائي و4 معالجات كافية؟ هل سترقم يونيكورن (Unicorn) تلقائيًا عند إعادة بناء التطبيق؟
إذا كان لديك 4 معالجات و8 جيجابايت من الذاكرة العشوائية، فمن المرجح أن تتمكن من تشغيل 8 عمال من نوع Unicorn، كما تأكد من تخصيص 1 جيجابايت من الذاكرة العشوائية لـ PostgreSQL.
كيف يمكنني التحقق من هذا الإعداد؟
أعد تشغيل ./discourse-setup وسيقوم بإجراء تعديلات على app.yml بناءً على الذاكرة ووحدات المعالجة المركزية المكتشفة.