الكثير من أنوية المعالج أم أنوية سريعة؟

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

أدى ذلك إلى استكخامي لخيارات استضافة أخرى ضمن ميزانية محدودة. الهدف هو حوالي 50 يورو شهريًا. لقد تطور السوق منذ آخر مرة درست فيها العروض المتاحة.

  • مقابل 42 يورو فقط، يمكنك الحصول على خادم مخصص من Hetzner مزود بمعالج Ryzen 5 3600. يُعد هذا المعالج قويًا جدًا ويحتوي على 6 أنوية. وبمناسبة، أملك معالجًا مشابهًا في هذا الحاسوب المحمول، وهو يؤدي مهام المعالجة أحادية الخيط أسرع بحوالي 40% إلى 50% مقارنة بخادم افتراضي (VPS) نموذجي ذي أداء جيد.
  • لكن في نفس النطاق السعري، يمكنك شراء خادم افتراضي يحتوي على عدد كبير من الأنوية، مع أداء أقل قليلاً. يقدم Contabo 10 أنوية مقابل 27 دولارًا فقط، بينما يأتي Hetzner مع ما يصل إلى 16 نواة مقابل 62 يورو. وهذه مجرد أمثلة، فهناك العديد من مقدمي الخدمات الآخرين.

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

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

أنت محق، هذه منشورات قديمة، لكن الاتجاه يبدو متسقًا :thinking:

ماذا عن مثيل قابل للتوسع ليالي الألعاب؟ مع وقت توقف بسيط، من السهل عمل نسخة احتياطية وتشغيل مثيل أكبر أو أصغر. واجهت مشكلة مشابهة مع مثيل Jitsi (مكون رائع بالمناسبة :blush:)، ففي معظم الوقت كان خاملًا، لكن بضع مرات في الأسبوع…

من الصعب تقديم إرشادات دون معرفة العنق الزجاجي الحالي الذي تواجهه بالضبط.

يمكن لـ إضافة مستخرج Prometheus لـ Discourse أن تُظهر بالضبط أي من المكونات العديدة هو المشكلة.

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

بالنسبة لـ Discourse، يُفضّل اختيار نوى سريعة بدلاً من زيادة عدد النوى. وإذا تمكّنت من الحصول على الاثنين معًا، فذلك أفضل (في سيناريوهات التحميل). لكن في الحالة النموذجية، ستؤدي نواتان سريعتان أداءً عامًا أفضل من أربع نوى بطيئة.

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

المثالي هو أن يكون وقت البناء أقل من 4 دقائق (240 ثانية).

لست خبيرًا في هذا المجال، لكنني لست متأكدًا من أن الأنوية الافتراضية لخادم VPS قابلة للمقارنة بأي حال من الأحوال مع الأنوية الفيزيائية لمعالج CPU. أعتقد أنه للحصول على تقدير تقريبي واسع، يمكنك النظر إلى كمية ذاكرة الوصول العشوائي (RAM) المعروضة، والافتراض أنها تشغل هذه الخوادم الافتراضية على جهاز كمبيوتر بسعة 256 ميجابايت. تقدم شركة Contabo مع أنويتها “الافتراضية العشرة” 60 ميجابايت فقط من الذاكرة العشوائية. من المرجح أنهم يشغلون 4 من هذه الخوادم الافتراضية على شيء ما يعادل تقريبًا خادم Hetzner المخصص الذي ذكرته (خادم بسعة 256 ميجابايت). لذا، أفترض أن “الأنوية الافتراضية العشرة” تمثل تقريبًا ربع أداء “الأنوية الفيزيائية الستة”. لنقل نصفها كحد أقصى إذا كانوا يشغلون اثنين منها على جهاز كمبيوتر بسعة 128 ميجابايت (والذي قد يحتوي على معالج أسرع أو أبطأ من جهاز Hetzner، فمن يدري).

(يمكنك في الواقع مقارنة “الأنوية الافتراضية” فقط بين عروض VPS المختلفة من نفس المزود. بل إنني لست متأكدًا حتى من أن المقارنة ذات معنى بين خوادم VPS تابعة لمزودين مختلفين).

إذا كنت تريد التأكد من ذلك، فيجب عليك الاشتراك لمدة شهر وتشغيل اختبار أداء (Benchmark). أو إقناعهم بتنفيذه لك، أو عرض تجربة مجانية لفترة قصيرة. إذا كان الأمر يتعلق حقًا بالأداء الذي تبحث عنه، فهذه هي الطريقة الوحيدة الحقيقية لمعرفة ذلك فيما يتعلق بخوادم VPS. أو اذهب مع خادم مخصص حيث تتوفر لديك معلومات أكثر دقة.

تعديل: عادةً ما يستخدم مزودو خوادم VPS مثل Contabo تقنية KVM لإجراء الافتراضية، وبعد البحث، يبدو بالفعل أنه يمكنك عرض عدد أكبر من “الأنوية الافتراضية” مما لديك فعليًا من الأنوية الفيزيائية. مثال:

نعم، يمكنك تكوين وتشغيل عدد أكبر من المعالجات الافتراضية (vCPUs) مما هو متاح من الأنوية الفيزيائية. هذا هو خادم Windows Server 2008 (x86، باللغة الألمانية) غير نشط والذي يعمل كضيف KVM ويظهر 10 معالجات على جهاز Intel X3210 أحادي المعالج يحتوي على 4 أنوية
(المصدر: https://serverfault.com/questions/435231/can-kvm-cpu-assignment-count-differ-from-physical-hosts-cpu-count )

من المنطقي أن يفعلوا ذلك نظرًا لكمية الذاكرة العشوائية التي يقدمونها مقارنة بعدد “الأنوية”.

بينما كنت أتصفح هذا العرض وأفكر :face_with_monocle: نعم، صفقة جيدة، لاحظت أن الذاكرة العشوائية (RAM) ليست من نوع ECC، لذا قمت بسرعة بالبحث على الإنترنت، وما ظهر؟ هذه المقالة من المدونة لـ Jeff :sweat_smile:
فيديو المعالجات جعل يومي رائعًا…

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

شكرًا لك على رابط المدونة. إنه مقال ممتع للقراءة.

أتفق أيضًا أن الفيديو يعادل ألف كلمة، وبشكل عام… أيضًا مضحك جدًا.

هل أجرب أحدكم اختبارات مع معالجات مختلفة فيما يتعلق بحجم ذاكرة التخزين المؤقت من المستوى الثالث (L3)؟

لقد رأيت بعض الإشارات إلى أن Ruby يتطلب موارد ذاكرة كبيرة. وهذا قد يعطي تلميحًا حول التأثير المحتمل لحجم ذاكرة التخزين المؤقت للمعالج، لأن Discourse يعمل مع مجموعات بيانات كبيرة.

أنا أقرر بشأن خادم جديد وأختار المعالج المناسب. أتساءل عما إذا كان يجب عليّ اختيار أعلى تردد ساعي أو أخذ حجم ذاكرة التخزين المؤقت من المستوى الثالث (L3) في الاعتبار أيضًا.

حاليًا، أنا أنظر إلى معالج Intel® Xeon® E-2174G الذي يحتوي على 4 أنوية بتردد 3.8 جيجاهرتز وذاكرة تخزين مؤقت بسعة 8 ميجابايت. ولكن هناك خيارات أغلى سعرًا بذاكرة تخزين مؤقت بسعة 12 ميجابايت أو 16 ميجابايت. هل تستحق هذه الخيارات التكلفة الإضافية؟

شكرًا!

في خبرتي، لن يُحدث ذلك فرقًا كبيرًا.