كيفية تحديد عنق الزجاجة في الأداء؟

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

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

التأخير حوالي 5-10 ثوانٍ - ولكن بشكل عام الأداء جيد بعد ذلك.

إذا كانت المشكلة من المحتمل أن تكون في الخادم / الاستضافة، فما هي المشكلة الطبيعية - حيث تبدو المقاييس لكل شيء منخفضة. لا يبدو أن وحدة المعالجة المركزية والقرص والذاكرة قد تم استنفادها، لذلك لست متأكدًا من أين أستثمر $$ إذا لم تكن النتيجة مرتبطة حقًا بالخادم. أي نصائح لمراقبة أو مشاهدة المقاييس التي يمكن أن تساعد في إظهار أين يقضي Discourse وقته في انتظار الأشياء؟

يمكنك رؤية مدى عرض الصفحة الأولى هنا. قد يساعد شبكة توصيل المحتوى (CDN).

الى أين؟ هنا أين؟

ما هو إصدار Discourse الذي تستخدمه؟

كم عدد المشاركات في المواضيع التي تبحث عنها/تختبرها؟

سريع و Meta أظن :wink:

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

أحدث إصدار 2.8.x وحوالي 30 مستخدمًا فقط. أقوم بالتشغيل على معالج vCPU ثنائي النواة مع ذاكرة وصول عشوائي بسعة 2 جيجابايت وقرص SSD.

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

إذًا، هل لا يوجد شيء للتحقق منه أو مراقبته، فقط قم بالتثبيت وادعُ أن كل شيء على ما يرام؟؟

في الواقع، الأمر أشبه بأن الخادم يصبح باردًا، وأنا فقط أطلب تحديثًا للصفحة لم يتم إجراؤه منذ فترة - هل تتوقف الأجزاء الخلفية عن العمل أو شيء من هذا القبيل بحيث يعني الاستخدام غير المتكرر أن أول شخص من المرجح أن ينتظر أطول قليلاً من المعتاد؟

عندما تقول 30 مستخدمًا، هل تقصد المستخدمين المتزامنين أم أن هذا هو إجمالي قاعدة المستخدمين؟

إذا كان 30 مستخدمًا متزامنًا، فقد تكون مواصفاتك منخفضة بعض الشيء.

ما هي نسبة الذاكرة في المتوسط. 30-50-80٪؟

كنت أتصفح مخططات السرعة والأداء في G analytics، ولاحظت تغييرًا منذ انتقالنا من 2.2 إلى 2.9، وهو تدهور، لكنني بحاجة إلى المزيد من البحث. أنا لا أشعر بتباطؤ ملحوظ، بل يبدو أسرع. فماذا أعرف أو ماذا تعرف G analytics؟

قرأت أيضًا عن حد 10 آلاف مشاركة لكل موضوع، وأنه إذا كان لديك الكثير من المشاركات، فيجب تحميلها بالكامل في الذاكرة قبل عرضها، وهذا يُنظر إليه على أنه بطء في البداية.

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

هل هذا خادم افتراضي خاص (VPS) لدى مضيف، أم شيء آخر؟ كيف تم تثبيته؟ معرفة 2vcpu مفيدة - فليست كل المعالجات متساوية.

هل يوجد شيء بين المثيل والعملاء؟ وكيل عكسي (reverse proxy) أو شيء مثل CloudFlare؟

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

لقد فتحت أخيرًا أدوات المطور ويمكنني رؤية بعض رسائل الخطأ… يبدو أن أ) الخطوط مفقودة أو لم يتم العثور عليها و ب) أنها تستخدم عنوان IP بدلاً من اسم النطاق المؤهل بالكامل (FQDN) الصحيح - ولست متأكدًا مما إذا كان عنوان IP صحيحًا.

أسفر حدث الجلب (FetchEvent) لـ "https://35.212.139.150/fonts/Roboto-Regular.ttf?v=0.0.9" عن استجابة خطأ في الشبكة: تم رفض الوعد.
Promise.then (غير متزامن)
(مجهول) @ Router.mjs:60
أسفر حدث الجلب (FetchEvent) لـ "https://35.212.139.150/fonts/Roboto-Bold.ttf?v=0.0.9" عن استجابة خطأ في الشبكة: تم رفض الوعد.
Promise.then (غير متزامن)
(مجهول) @ Router.mjs:60
NetworkFirst.mjs:167 Uncaught (in promise) no-response: no-response :: [{\"url\":\"https://35.212.139.150/fonts/Roboto-Regular.ttf?v=0.0.9\"}]
    at a.makeRequest (https://community.hubivue.com/javascripts/workbox/workbox-strategies.prod.js:1:2145)
makeRequest @ NetworkFirst.mjs:167
color_definitions_light_4_1_530ebcc4a553d42866a6f343d784841cf5c0b816.css:1          GET https://35.212.139.150/fonts/Roboto-Regular.ttf?v=0.0.9 net::ERR_FAILED
NetworkFirst.mjs:167 Uncaught (in promise) no-response: no-response :: [{\"url\":\"https://35.212.139.150/fonts/Roboto-Bold.ttf?v=0.0.9\"}]
    at a.makeRequest (https://community.hubivue.com/javascripts/workbox/workbox-strategies.prod.js:1:2145)
makeRequest @ NetworkFirst.mjs:167
color_definitions_light_4_1_530ebcc4a553d42866a6f343d784841cf5c0b816.css:1          GET https://35.212.139.150/fonts/Roboto-Bold.ttf?v=0.0.9 net::ERR_FAILED

جهاز افتراضي من Google Cloud ولا شيء بين المضيف والويب / لا توجد شبكة توصيل محتوى (CDN)

حسنًا، يبدو أنك تستضيف هذه النسخة على جوجل.

هل حاول شخص ما تثبيتها مقابل عنوان IP قبل اسم DNS؟

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

بعيدًا… لقد أعدت تعيين خيارات الخط إلى الإعدادات الافتراضية (أي Arial) وكل شيء يعمل بشكل جيد. يبدو أن هناك خطأ ما أو أن هناك شيئًا ما غير صحيح في تحديد الخطوط في الإعداد. تم إغلاق القضية وسأكتفي بـ Arial في الوقت الحالي.

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

ربما. غير متأكد. إذا كانت هذه مشكلة، فهل هناك طريقة لإعادة تعيينها؟

يعتمد ذلك على كيفية تحولهم إلى استخدام اسم المضيف بعد محاولة استخدام عنوان IP.

هل تم التثبيت باتباع الخطوات الواردة في التثبيت القياسي؟ سأجري محادثة مع أي شخص قام بإعداد المثيل لمعرفة ما تم القيام به. قد لا يزال عنوان IP مشارًا إليه في مكان آخر.

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

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

لاحظ أن الأداء جيد الآن بعد استخدام الخطوط الأساسية - يبدو أن المشكلات تتعلق باستخدام خطوط Google Roboto.

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

يبدو أنه يجب علي اتباع هذا الدليل تقريبًا…

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

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