نفس الشيء في وضع الأمان (لا أستخدم سمات أو إضافات مخصصة على أي حال، باستثناء data-explorer)، الإصدار 2.6.0.beta2
خوادمنا تعمل على نظام Ubuntu 18، وتحتوي على 4 معالجات افتراضية، وذاكرة وصول عشوائي سعتها 8 جيجابايت، ومساحة تخزين على القرص تبلغ 160 جيجابايت.
ربما 20-30 ثانية؟ أيضًا، لا يحدث هذا عند إعادة تسمية فئات أخرى.
تعديل: يحدث أيضًا في منتدى التطوير الخاص بي (كمبيوتر قوي نسبيًا مع نظام فرعي لـ Ubuntu).
تعديل ثانٍ:
يبدو أن التقسيم إلى دفعات أصغر يعمل. إذن، لا يحب Discourse نقل أكثر من 3000 موضوع، حتى مع وجود خادم أكثر قوة (قمت بزيادة السعة إلى 16 vCPU / 32 جيجابايت). لذا، أعتقد أن هذه المشكلة مختلفة عن إعادة تسمية فئاتي. لم أستطع حتى الآن إعادة تسمية الفئة.
قمت بإنشاء فئة جديدة B (يمكنني إعادة تسميتها بحرية)، ونقلت جميع المواضيع من الفئة A (التي لا يمكنني إعادة تسميتها) إلى الفئة B: بعد ذلك لم أعد أستطيع إعادة تسمية الفئة B، وأصبحت أستطيع إعادة تسمية الفئة A.
حاولت إعادة تسمية فئاتي، مع اختيار فئة تحتوي على عدد أكبر من المنشورات في كل مرة. يبدو أن الفئة التي تحتوي على محتوى أكثر (منشورات أكثر، مواضيع أكبر) تستغرق وقتًا أطول لإعادة تسميتها.
هناك فئتان لا يمكنني إعادة تسميتهما (يبدو أنها تستغرق وقتًا طويلاً حقًا…):
ظننت أن القيام بذلك بهذه الطريقة، لكنني لم أكن متأكدًا من أنها آمنة: أتساءل لماذا يستغرق الأمر كل هذا الوقت لمجرد إعادة تسمية عنوان فئة في Discourse
هل يحتاج إلى التحقق من أشياء لا أفكر فيها؟
يبدو ذلك
أظن أنه قد يعيد حساب بعض الإحصائيات. ما يمكنك فعله هو الاتصال بقاعدة بيانات Postgres وتشغيل أمر مثل:
SELECT pid, age(query_start, clock_timestamp()), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
تحديث: حاولت إعادة تسمية فئة في منتداي الآخر النشط (بيانات/خادم/نظام تشغيل مختلفة، لكن نفس إصدار Discourse).
تغيير اسم الفئة بطيء (حوالي 10 ثوانٍ). جربت ذلك عدة مرات وواجهت أيضًا خطأ 502 مرة واحدة.
أشعر بأن هذه مشكلة في Discourse ربما تتعلق بتحديث حديث؟
كلا المنتدىين يستخدمان الإصدار 2.6.0.beta2.
هل يمكن لأحد تجربة تغيير اسم فئة (فئة تحتوي على آلاف أو عشرات الآلاف من المواضيع) في منتداه الخاص، باستخدام نفس إصدار Discourse، لمعرفة ما إذا كان ذلك بطيئًا أو يولد خطأ 502؟
لا أتذكر حدوث خطأ 502 في منتداي السابق (الذي تم استيراده أيضًا)، لكنني لم أقم بإعادة تسمية أي فئة منذ الاستيراد قبل 3 سنوات. لا أتذكر ما إذا كان إعادة تسمية الفئات عملية بطيئة.
أما بالنسبة لمنتداي الجديد والأكثر حجمًا، فقد تم استيراده على نسخة Discourse التي أذكرها، لذا لا يمكنني المقارنة مع إصدار أقدم.
فقط تصحيح بخصوص هذا: أعتقد أنني قمت سابقًا بتشغيل Category.where(id: 21).update(name: "General") على فئة نقلت منها المواضيع أو ما شابه ذلك، لأنني اضطررت لاستخدام هذا الأمر عدة مرات على فئات مختلفة حاليًا، ويبدو أن مدة تنفيذ الأمر تتناسب طرديًا مع عدد المنشورات في الفئة المستهدفة.
إذًا، المشكلة هي نفسها عند تحديث الفئة من الواجهة، باستثناء أن الأمر لا يتوقف عن العمل (لا يحدث انتهاء للوقت) عند تنفيذه من سطر الأوامر.
استغرق الأمر ما يزيد قليلاً عن دقيقة لفئة تضم أكثر من 30000 موضوع، وأكثر من 30 ثانية لفئة تضم أكثر من 15000 موضوع، بينما كان سريعًا للفئات التي تحتوي على عدد قليل من المواضيع.
أصبح منتدىنا عرضة للأخطاء بشكل متزايد خلال الأشهر الستة الماضية. لقد قمت للتو بمضاعفة موارد الخادم لدينا (16 وحدة معالجة مركزية، 64 جيجابايت من الذاكرة العشوائية)، ورغم أن الأداء تحسن بشكل كبير، إلا أنني اكتشفت خطأً يمكن تكراره.
محاولة تغيير اسم فئة واحدة فقط تؤدي إلى ظهور خطأ 502 في كل مرة.