إعادة نشر المشاركات تؤدي إلى ظهور خطأ 502 Bad Gateway

قمنا بزيادة ذاكرة الوصول العشوائي (RAM) وإعادة بناء قاعدة البيانات، لكن المشكلة لا تزال مستمرة.

أود أن أسأل عما إذا كان المطورون على علم بهذه المشكلة.. شكرًا!

هل هناك إصلاح سريع يمكنني القيام به كمسؤول؟ ربما زيادة وقت الانتظار؟

لست متأكدًا. يبدو بالتأكيد أن زيادة مهلة الوقت ستساعد. يحدث هذا بشكل متكرر أكثر في المواضيع ذات الكثافة العالية من المشاركات، لذا يبدو أن هناك عملية أخذ عينات أو مسح تستغرق وقتًا طويلاً.

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

نعم، المشكلة لا تزال قائمة مع الإصدار 2.5.0.beta2

هل قمت بتشغيل إعدادات discourse بعد تغيير الذاكرة العشوائية (RAM)؟ هناك إعدادات تحتاج إلى تحديث للاستفادة الكاملة من الذاكرة العشوائية.

لست متأكدًا، لأن التنفيذ يقع على عاتق شخص آخر. لكني سأذكر له أن هذا يجب أن يتم لإكمال العملية. شكرًا جزيلاً!

مرحبًا،
أواجه العديد من أخطاء 502 أثناء نقل المنشورات.
هل لديكم خطة لتحسين هذا السيناريو؟

شكرًا لك

مرحبًا، هل تمكنت من العثور عليه؟ سيكون رائعًا إذا أمكننا جعل مهلة الوقت قابلة للتخصيص عبر متغيرات البيئة في ملف app.yml أو إعدادات موقع discourse لمن يعانون من ذاكرة محدودة.


ربما سؤال غبي؟


عند نقل عدد كبير من المنشورات بهذه الطريقة، هل تتم إدارة هذه العملية عبر Sidekiq؟

آسف، لم أبحث في الكود…


تحديث


نظرت سريعًا في قاعدة كود Ruby، ونعم، عند استدعاء وظيفة نقل المنشورات، تُصَفَّ المهام باستخدام enqueue_jobs().

بما أنني لست مطوّرًا في Discourse، يبدو لمُتصفّح كود عابر أن المشكلات المتعلقة بالتأخيرات أو الأخطاء أو المهلات الزمنية المرتبطة بنقل المنشورات ترتبط مباشرة بأداء وتكوين Sidekiq.

حاولت دراسة كيفية استخدام Discourse لـ Sidekiq على مستوى النظام قبل عدة أيام، لكنني لم أتمكن من العثور على نسخة “ملخص سريع” مخصصة للمبتدئين.

لذلك، ذهبت إلى موقع Sidekiq لأحاول فهم ما يحدث تحت الغطاء، ولاحظت وجود ثلاثة عروض مختلفة، فأصبحت مرتبكًا وتوقفت :slight_smile: لأنني لم أستطع فهم، ضمن فترة انتباهي القصيرة واحتياجي للإشباع الفوري، أي إصدار من Sidekiq يستخدمه Discourse، وما هي الميزات والتبديلات الدقيقة التي يمكن تكوينها…

بصفتي مبتدئًا في هذا المجال، أود معرفة تفاصيل هندسة Sidekiq، وميزاته، وتبديلاته، والمتغيرات البيئية المتاحة في Discourse… لكن حتى الآن “لم أجد بعد ما أبحث عنه” - مُغنًّى على نغمة أغنيتنا المفضلة لفرقة U2.

جميع الإجابات تنبع من الفضول…

تحديث:

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

لذا، هناك تفاؤل حذر هنا. سنقوم بالتحديث في حال تغيرت الأمور.

شكرًا للجميع الذين قدموا المساعدة في هذه القضية!

ما هي الإضافات التي قمت بتعطيلها تحديدًا؟

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

من المرجح جدًا أن يكون ذلك كلامًا فارغًا، وأظن أنه يحتوي على خطافات تُفعّل عند نقل المنشور.

جيد أن نعرف. شكرًا لك. وتقدير لـ @featheredtoast على الإصلاح.

بدأت مجتمعي مؤخرًا في مواجهة مشكلة خطأ 502 عند نقل المنشورات، خاصة بين الخيوط الكبيرة. لم يكن لدي أي إضافات مخصصة مثبتة. بناءً على النصيحة الواردة من موضوع آخر في Discourse، قمت بزيادة unicorn_workers إلى 10 و db_shared_buffers إلى 4096 ميجابايت، لكن ذلك لم يُحسّن الوضع. فيما يلي سجل ./discourse-doctor الخاص بمنتدىنا. آمل الحصول على بعض التوجيهات. شكرًا لكم!

==================== معلومات Docker ====================
إصدار Docker: Docker version 17.10.0-ce، build f4ffd25

عمليات Docker (docker ps -a)

معرف الحاوية        الصورة                 الأمر             تم إنشاؤه منذ        الحالة            المنافذ                                      الأسماء
ddfb2222fd64        local_discourse/app   "/sbin/boot"        منذ 10 أيام         قيد التشغيل منذ 10 أيام          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

ddfb2222fd64        local_discourse/app   "/sbin/boot"        منذ 10 أيام         قيد التشغيل منذ 10 أيام          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

حاوية Discourse app قيد التشغيل


==================== الإضافات ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git

لم يتم اكتشاف أي إضافات غير رسمية.

راجع https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb للحصول على القائمة الرسمية.

========================================
Discourse 2.6.0.beta2
إصدار Discourse في localhost: Discourse 2.6.0.beta2 


==================== معلومات الذاكرة ====================
الذاكرة العشوائية (بالميجابايت): 16434

              الإجمالي        المستخدم      الحر        المشترك  buff/cache   المتاح
Mem:          16048        5605         919        4255        9523        5850
Swap:          2047         437        1610

==================== فحص مساحة القرص ====================
---------- مساحة قرص نظام التشغيل ----------
نظام الملفات                 الحجم  المستخدم  المتاح النسبة% mounted on
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/aufs
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/plugins
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /

---------- مساحة قرص الحاوية ----------
علم اختصاري غير معروف: 'w' في -w
راجع 'docker exec --help'.


==================== معلومات القرص ====================
القرص /dev/vda: 320 جيجابايت، 343597383680 بايت، 671088640 قطاع
الوحدات: قطاعات بـ 1 * 512 = 512 بايت
حجم القطاع (المنطقي/الفيزيائي): 512 بايت / 512 بايت
حجم الإدخال/الإخراج (الحد الأدنى/المثالي): 512 بايت / 512 بايت
نوع تسمية القرص: gpt
معرف القرص: 29B528BA-16C4-402E-BEE9-53555C8B6F10

الجهاز     البداية       النهاية   القطاعات  الحجم النوع
/dev/vda1   2048 671086591 671084544  320G نظام ملفات Linux

==================== نهاية معلومات القرص ====================

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

لا توجد مشكلة في تثبيت Discourse الخاص بي في بيئة التطوير (نفس الإصدار 2.6.0.beta2) رغم ذلك.
وليس هناك أي شيء في السجلات.

أواجه أخطاء 502 منذ عام :frowning:

لا أظن أننا سألناك: ما هي الإضافات التي تستخدمها؟

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