كم مقدار RAM المطلوب لـ Discourse؟

مرحبًا،

لقد قمتُ مؤخرًا بتثبيت Discourse على خادم VPS خاص بي. يتوفر لدي 2 جيجابايت فقط من ذاكرة الوصول العشوائي (RAM). هل هذا كافٍ لتشغيل منتدى في بيئة إنتاجية؟ لقد واجهتُ في بعض الأحيان خطأ بوابة 502، وقد يكون ذلك ناتجًا عن نقص الذاكرة. وفي أحيان أخرى، بعد تثبيت إضافة، أحتاج إلى تحديث لوحة الإدارة عدة مرات.

تذكر بعض المواضيع الأخرى أن 1 جيجابايت من الذاكرة العشوائي كافية، لكن ما هو الواقع؟ أنا أستخدم أحدث صورة Docker من Bitnami. ويقول البعض إن Sidekiq قد يستهلك ما يصل إلى 4 جيجابايت من الذاكرة العشوائي: https://github.com/bitnami/bitnami-docker-discourse/issues/150

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

يمكنك تشغيل Discourse بسهولة على خادم VPS مزود بـ 2 جيجابايت من ذاكرة الوصول العشوائي. قد ترغب في النظر في إعداد مساحة التبادل (swap) إذا لم تكن موجودة بالفعل. سيؤدي تشغيل الأمر ./discourse-setup إلى القيام بذلك نيابةً عنك.

3 إعجابات

لقد قمت بإعداد الذاكرة المؤقتة (swap) في البداية، لكن استخدام ذاكرة الـ swap يؤدي إلى إبطاء النظام بشكل كبير، لذا لم أرغب في تفعيلها افتراضيًا.

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

يجب أن يستخدم تكويننا الافتراضي مساحة التخزين المؤقت (swap) فقط تحت الضغط، مثل أثناء تحديثات الويب.

إذا كنت تستضيف مجتمعًا كبيرًا وبدأت تواجه أوقات استجابة بطيئة من واجهة برمجة تطبيقات Discourse، فيمكنك زيادة وحدة المعالجة المركزية/الذاكرة العشوائية لخادمك وإعادة تشغيل ./discourse-setup ليبدأ في استخدام الموارد المعززة.

6 إعجابات

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

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

لم قمت باستيراد أي قاعدة بيانات. هذا منتدى جديد تمامًا يحتوي على 0 منشور. الحركة الوحيدة حالياً هي حركتي أنا. ومع ذلك، أتوقع وجود حركة مرور قد تصل إلى 1000 مستخدم يزورون الموقع يوميًا.

أوه. لا تفعل ذلك. أو اسألهم لماذا أدائك ضعيف.

انظر: التثبيت القياسي الرسمي لمنصة Discourse

4 إعجابات

أنا متحمس لمعرفة سبب دعوتك إلى عدم استخدام صورة Bitnami؟ (يبدو أن @AntiMetaman يشير إلى مخططات Helm الجديدة الخاصة بهم هنا.

ولكن أيضًا، لديهم مخطط Helm جديد هنا

نحن، فريق تطوير Discourse، نختبره فقط على صورتنا الأساسية. قد تتعطل التثبيتات التي لا تتبع الرابط Install Discourse in production with the official supported instructions بشكل خفي في أي وقت، ولن نقدم دعمًا لها.

4 إعجابات

مجرد معلومة، وأقدم وجهة نظر مختلفة @AntiMetaman

على الرغم من أن Discourse يمكن تشغيله على خادم افتراضي (VPS) بذاكرة عشوائية (RAM) محدودة، إلا أن عملية بناء وإعادة بناء Discourse ستكون بطيئة جدًا مقارنة بالبناء على جهاز يحتوي على ذاكرة عشوائية أكبر. شخصيًا، لا أنصح بتشغيل تطبيق Discourse “حقيقي” للإنتاج على ذاكرة عشوائية مقدارها 2 جيجابايت، لكن هذا رأيي الشخصي فقط.

ومع ذلك (رأيي الشخصي فقط)، قمت بتثبيت Discourse على أجهزة بذاكرة عشوائية مقدارها 1 جيجابايت، و2 جيجابايت، و8 جيجابايت، و32 جيجابايت، و64 جيجابايت، سواء كانت خوادم افتراضية أو مخصصة. وبصراحة، أفضل بناء Discourse على أجهزتي ذات 64 جيجابايت و32 جيجابايت. البناء على 64 جيجابايت سريع جدًا :). إعادة البناء سريعة كالبرق، والتشغيل ممتاز، ناعم مثل الزبدة على الخبز الساخن. لذا، أفضل تشغيل Discourse على أجهزة “أكبر” (ذاكرة عشوائية أكبر، مساحة تخزين أكبر) مع تطبيقات أخرى بدلاً من تشغيله في وضع مستقل على شرائح صغيرة جدًا بذاكرة عشوائية محدودة.

ومع ذلك، فإن هذا مبني على تجربتي الشخصية مع Discourse وDocker وتفضيلاتي. أحب أن يكون إعادة بناء Discourse سريعًا وأن يكون هناك مساحة “احتياطية” كافية في بيئة الإنتاج، وذاكرة عشوائية مقدارها 2 جيجابايت لا تلبي متطلباتي من حيث سرعة البناء.

4 إعجابات

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

هذه الـ 2 جيجابايت الأولى تكفي لمسافة طويلة؛ فأنا أشغل حاليًا مجتمعًا بـ حوالي 3500 زيارة يوميًا دون الزواحف (Crawlers) وبحدود 20-30 منشورًا يوميًا، ولم ألاحظ أي مشكلة مع 2 جيجابايت من ذاكرة الوصول العشوائي (RAM) ولم أشعر بأي تباطؤ.

أنا متأكد تقريبًا يا @AntiMetaman أن مشكلتك تتعلق بصورة Bitnami وليس بالموارد. تأكد من أن معالج CPU لديك سريع بما يكفي، وإذا أمكنك، خصص له معالجًا ثانيًا (أنا أستخدم فقط 1 vCPU وهو يؤدي المهمة).

4 إعجابات

لا تزال صورة Bitnami تستخدم الإصدار المستقر 2.4.4. السبب الوحيد الذي دفعني لاختيار Bitnami هو أنها تحتوي على ملف docker-compose.yml قياسي، مما جعل عملية التثبيت أسهل. فشل بعض الأشخاص الذين حاولوا الترقية إلى الإصدار التجريبي 2.6.0 Beta 1 باستخدام صورة Discourse الرسمية. سأجرب صورة Discourse الرسمية وأرى كيف تسير الأمور.

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

فكرة جيدة، لكن الحزم من جهات خارجية مثل تثبيت Bitnami لا تحصل على أي دعم هنا.

كما لاحظت بالفعل، فهي قديمة إلى حد كبير.

إعجابَين (2)

مرحبًا @Falco - هل تقصد تشغيل هذا الأمر في وحدة التحكم أم أن تشغيل معالج الإعداد كافٍ www.mysite.com/wizard؟

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

إنهما في الواقع شيئان مختلفان. :slight_smile:
/wizard مخصص لإعدادات واجهة المستخدم والإدارة لإعداد موقعك بعد التثبيت، ويتم الوصول إليه عبر موقعك/متصفحك.
discourse-setup هو جزء من عملية التثبيت نفسها والتي (جزئيًا) تخصص موارد الخادم، ويتم تشغيله من الخادم.
يمكنك إعادة تشغيل discourse-setup عدة مرات ولن يقوم بالكتابة فوق أي من بيانات موقعك.

3 إعجابات

شكرا للتوضيح @JammyDodger، أقدر ذلك كثيراً.

كان موقعي يعاني من بطء شديد، لذا قمت بإضافة المزيد من ذاكرة الوصول العشوائي (RAM) إلى الخادم، ويبدو أنه يعمل بشكل أفضل الآن مع تخصيص 2048 ميجابايت من المخازن المؤقتة المشتركة بدلاً من 128 ميجابايت.

كنت أقوم بتحرير ملف app.yml يدوياً في السابق وتحميله باستخدام SFTP، وقد لاحظت للتو تحذيراً بشأن الأذونات عند إعادة بناء التطبيق الآن، فما الذي يجب ضبط ملف app.yml عليه؟

644 أو 600. أعتقد أن الرسالة التي تشير إليها تخبرك بما يجب أن تكون عليه.

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

شكرا @pfaffman!

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