عمليات البناء تستغرق وقتًا طويلاً جدًا

مرحباً،

لدي تثبيت جديد لـ Ubuntu 20 و Docker و Discourse. لم أضف أي إضافات ولدي مستخدمان فقط في قاعدة البيانات الخاصة بي، ومع ذلك تستغرق عمليات البناء أكثر من 40 دقيقة لإكمالها! لا يوجد جزء معين من عملية البناء بطيء، فالأمر برمته يستغرق وقتاً طويلاً جداً لإكماله. إنه خادم بمواصفات جيدة جداً، ولدي خادم آخر يخدم 20 موقعاً لعملائي بنجاح، لذا فهي ليست مشكلة في الأداء.

يتوقف هنا لمدة 4 دقائق على الأقل:

warning Resolution field "lodash@4.17.21" is incompatible with requested version "lodash@4.17.15"

يتوقف مرة أخرى هنا فوراً بعد ذلك لمدة 4-5 دقائق أخرى:

warning " > @mixer/parallel-prettier@2.0.1" has unmet peer dependency "prettier@^2.0.0".

لقد حاولت البناء باستخدام --skip-prereqs دون جدوى، ولا يزال الأمر يستغرق 40+ دقيقة في كل إعادة بناء.

هل هناك أي شيء معين تعتقد أنه قد يسبب المشكلة؟

شكراً لمساعدتك.

6 إعجابات

لقد لاحظت أن إعادة البناء تستغرق وقتًا طويلاً أيضًا. ما مقدار ذاكرة الوصول العشوائي لديك؟

4 إعجابات

لقد أعدت بناء قطرة DO الخاصة بي (1 جيجابايت ذاكرة / 25 جيجابايت قرص / LON1 - Ubuntu 20.04 (LTS) x64)

استغرق الأمر 20:25.44

ارتفعت وحدة المعالجة المركزية كما هو متوقع

كانت الذاكرة عشوائية

كان عرض النطاق الترددي مفاجئًا

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

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

8 إعجابات

4 جيجابايت من ذاكرة الوصول العشوائي :+1: شكراً على التحديث @Falco

إعجابَين (2)

شكراً للتأكيد @Falco، لدي 1GB من ذاكرة الوصول العشوائي (RAM) (قليلة ولكن لم أحتج المزيد لموقع خفيف). يستغرق البناء أكثر من 30 دقيقة (عادة ما يكون حوالي 10 دقائق).

رافائيل، هل هذا تراجع على 2.9.0 بيتا أم 2.8.0 مستقر؟

بالعودة إلى المنشور الأول، هل يعرف أحد من أين يأتي هذا التحذير؟

لا أعرف ما إذا كان هذا شيئًا يستحق النظر فيه حقًا، ولكن شخصيًا، لاحظت في العديد من الأشياء انخفاضًا في الأداء عند استخدام Ubuntu 20.04 (Discourse، خوادم الويب، خوادم الألعاب) حتى عند محاولة طرق مختلفة للتحسين :thinking:
في الوقت الحالي، أقوم بتشغيل Discourse في Droplet للاختبار بنفس الخصائص، ويستغرق إعادة البناء حوالي 8-12 دقيقة (Ubuntu 18)

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

يعتمد وقت البناء أيضًا على عدد المكونات الإضافية والمكونات السمة التي قمت بتثبيتها.

يستغرق هذا أيضًا وقتًا لإعادة البناء.

نظرًا لأن لدي جميع المكونات الإضافية الرسمية محملة ، فإن البناء الخاص بي يستغرق وقتًا أطول.

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

أعلم، ولكن في هذه الحالة كنت أتحدث عن “مساواة” في المواصفات، أي بدون إضافات أيضًا

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

لا أعتقد أن البناء “يعلق” عند تلك التحذيرات. إنه يبني بصمت ويتم إخراج التحذيرات كجزء من العملية.
أي أن التحذيرات أو مشكلتها الأساسية لا تساهم في وقت البناء الطويل.

3 إعجابات

أين يمكننا تتبع هذا يا @Falco؟ شكراً لإعلامنا بهذا، لقد صادفت هذا للتو وهو يؤثر علينا بشدة هنا.

إعجابَين (2)

هذا تغيير ضخم نعمل عليه منذ سنوات، وهو يدخل المراحل النهائية. خلال هذه الفترة، لدينا فترة “ستزداد الأمور سوءًا قبل أن تتحسن”، وهذا أحد الآثار الجانبية “السيئة” لذلك.

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

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

11 إعجابًا

نقدر التحديث @Falco :heart: على وحدة معالجة مركزية رباعية مع 8 جيجابايت من ذاكرة الوصول العشوائي على Linode وعادةً ما يكون هذا إعدادًا رائعًا، ولكنه كابوس الآن. لدينا عدد من التغييرات التي كنا نخطط لإجرائها، ولكن سيتعين علينا الانتظار الآن حتى تعود سرعات النشر إلى طبيعتها تقريبًا.

@Falco ألاحظ أيضًا أنه خلال الإصدارات القليلة الماضية يتدهور أداء الخادم، ويستغرق تحميل المواقع وقتًا أطول ويستهلك المزيد من الذاكرة. لم تحدث أي تغييرات في إعداداتي خلال العامين الماضيين (الإضافات، الأجهزة، إلخ) وعدد المستخدمين النشطين على الموقع هو نفسه أيضًا. هل هناك طريقة لمراقبة أداء الموقع بشكل موضوعي من داخل Discourse يمكننا بعد ذلك الإبلاغ عنه هنا. في الوقت الحالي، الطريقة الوحيدة التي أعرفها هي عندما أفتح الموقع يستغرق تحميله لأول مرة أكثر من 8 ثوانٍ (مع الإصدارات السابقة كان دائمًا أقل من 2-3 ثوانٍ).

ما هي أوقات إعادة البناء التي ترونها؟ لقد احتجت للتو إلى إعادة البناء بسبب تغيير في SMTP، واستغرقت أقل من 12 دقيقة لموقع صغير جدًا (30 مستخدمًا، 400 منشور).

إعجابَين (2)

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

إعجابَين (2)

استغرق آخر بناء هذا الصباح حوالي 20 دقيقة

سأشكرك، بعد تحديث اليوم عادت الصفحات إلى التحميل الطبيعي في 2-3 ثوانٍ (مفاجأة سارة).

أوه. هذا ليس طبيعيًا.

إعجابَين (2)

أعتقد أنني اكتشفت سبب استغراق تحميل الصفحات وقتًا طويلاً. تم تعيين حجم قاعدة البيانات المشتركة في app.yml ليكون مساويًا للذاكرة الإجمالية للنظام. أعدته إلى القيمة الافتراضية (25٪)، وأعدت البناء، وأصبح الآن أقل من ثانية.

3 إعجابات