مقارنة أداء الخوادم القائمة على ARM بين GCP وAWS وAzure
Shirui Zhao
August 12, 2022
الخلفية
يستخدم تصميم معمارية معالج RISC مجموعة من التعليمات المُحسَّنة للغاية لتمكين المعالجات الصغيرة من التعامل بكفاءة مع المهام المعقدة. أصبحت ARM حجر الزاوية في أكبر نظام بيئي للحوسبة والأجهزة المحمولة في العالم، ويعتبرها العديد من الخبراء مستقبل الحوسبة السحابية بسبب استهلاكها المنخفض للطاقة، وتراخيصها المرنة، وتكلفتها المنخفضة.
لذلك، قامت مزودات السحابة الرئيسية بقيادة AWS وGoogle Cloud Platform (GCP) وAzure بإطلاق خوادم تعتمد على معمارية ARM. ومن بينها، أطلقت AWS أول معالج خادم AWS Graviton يعتمد على معمارية ARM في عام 2018.
AWS Graviton
AWS Graviton هي سلسلة من معالجات الخوادم التي تعتمد على معمارية ARM والتي أطلقتها AWS في عام 2018. يستخدم الجيل الأول من معالجات AWS Graviton شرائح مخصصة ونوى Neoverse 64 بت.
تم إطلاق معالجات AWS Graviton2 في عام 2020، وهي تمثل قفزة كبيرة في الأداء والوظائف مقارنة بمعالجات AWS Graviton من الجيل الأول. حيث توفر أداء أسرع بسبع مرات، وأربع مرات أكثر من النوى، وذاكرة تخزين مؤقت أكبر بمرتين، وذاكرة أسرع بخمس مرات، وغير ذلك.
أحدث معالجات AWS Graviton3 التي سيتم إطلاقها في نهاية مايو 2022 تعتمد على تصميم Neoverse V1 الأكثر تقدمًا، حيث توفر أداءً يصل إلى ضعف أداء النقطة العائمة، وضعف أداء التشفير، وثلاثة أضعاف أداء التعلم الآلي مقارنة بمعالجات AWS Graviton2، بما في ذلك دعم bfloat16. يوضح الشكل التالي النماذج الرئيسية المزودة بمعالجات AWS Graviton3:
Google Cloud Platform T2A
تعد آلة Google Cloud Platform(GCP) Tau T2A VM معاينة لأول آلة افتراضية تعتمد على ARM من Google في يوليو 2022، والتي تعمل بواسطة معالجات Ampere® Altra® Arm المعتمدة على تصميم Neoverse N1. تأتي آلات Tau T2A VM بأشكال مختلفة محددة مسبقًا مع ما يصل إلى 48 vCPU لكل آلة و4 جيجابايت من الذاكرة لكل vCPU.
توفر ما يصل إلى 32 جيجابت في الثانية من عرض النطاق الترددي للشبكة ومجموعة واسعة من خيارات التخزين المرفقة بالشبكة، مما يجعل آلة Tau T2A VM مناسبة لأحمال العمل المتوسعة بما في ذلك خوادم الويب، والخدمات المصغرة المعبأة، ومعالجة سجلات البيانات، وتحويل الوسائط، وتطبيقات Java. النماذج الرئيسية هي كما يلي:
الآلات الافتراضية المعتمدة على ARM من Azure
في أبريل، أعلنت Microsoft عن معاينة عائلة الآلات الافتراضية Azure المعتمدة على معالجات Ampere® Altra® Arm. تم تصميم الآلات الافتراضية الجديدة لتشغيل أحمال العمل المتوسعة بكفاءة، وخوادم الويب، وخوادم التطبيقات، وقواعد البيانات المفتوحة المصدر، والتطبيقات السحابية الغنية بتقنية .NET، وتطبيقات Java، وخوادم الألعاب، وخوادم الوسائط، وغير ذلك. تتضمن سلسلة الآلات الافتراضية الجديدة الآلات الافتراضية العامة Dpsv5 والآلات الافتراضية المخصصة للذاكرة Epsv5. النماذج الرئيسية هي كما يلي:
اختبار أداء خوادم ARM من ثلاث مزودات سحابية
في هذه المقالة، سنعكس الأداء العام لكل خادم من خلال اختبار أداء النواة الواحدة. هنا، تم اختيار بوابة API كثيفة الاستخدام للشبكة Apache APISIX لربط نواة معالجة واحدة لإجراء اختبار الضغط على ثلاثة نماذج: AWS c7g.large وGCP t2a-standard-2 وAzure D2ps v5 (التابعة لسلسلة Dpsv5، معالج ثنائي النواة)، وتحليل أداء الخادم من خلال مؤشري QPS وزمن الاستجابة.
Apache APISIX هي بوابة API سحابية عالية الأداء وقابلة للتوسع. تعتمد على NGNIX + LuaJIT وetcd، وتتميز APISIX بتوجيه ديناميكي وإعادة تحميل البرامج المساعدة الساخنة مقارنة ببوابات API التقليدية، مما يجعلها مناسبة بشكل خاص لإدارة API تحت بنية السحابة الأصلية.
بعد ذلك، سنستخدم نص اختبار الأداء المفتوح المصدر الرسمي لـ APISIX لإجراء الاختبار.
حالة الاختبار
سنقوم باختبار أداء Apache APISIX تحت سيناريوهين نموذجيين للحصول على بيانات اختبار أكثر واقعية وغنية:
- السيناريو 1: مصدر واحد. في هذا السيناريو، يتم استخدام مصدر واحد (بدون أي برامج مساعدة) لاختبار أداء APISIX في وضع الوكيل النقي للعودة إلى المصدر.
- السيناريو 2: مصدر واحد + برامج مساعدة متعددة. يستخدم هذا السيناريو مصدرًا واحدًا مع برامج مساعدة متعددة، ويتم استخدام برنامجين مساعدين هنا. يتم اختبار أداء APISIX عند تمكين برنامجين مساعدين أساسيين لاستهلاك الأداء، وهما
limit-count
وprometheus
.
نتائج الاختبار
يوضح الشكل التالي نتائج اختبار QPS (الاستعلامات في الثانية)، وكلما كان الرقم أعلى، كان الأداء أفضل.
يوضح الشكل التالي نتائج اختبار زمن الاستجابة بالمللي ثانية. كلما كان الرقم أصغر، كان الأداء أفضل.
من منظور QPS وزمن الاستجابة، تحت بوابات API كثيفة الاستخدام للشبكة مثل Apache APISIX، يتمتع AWS C7g بتحسن في الأداء بنسبة 100% مقارنة بـ GCP T2A، ويتمتع Azure Dpsv5 بتفوق في الأداء بنحو 15% مقارنة بـ GCP T2A.
مقارنة التكلفة والأداء
نظرًا لأن هذه المقالة تركز فقط على اختبار أداء آلات ARM من مزودات سحابية مختلفة، سنتجاهل تغيير "نفس عدد نوى المعالجة مع ذاكرة مختلفة"، ونحلل نسبة التكلفة إلى الأداء لـ AWS Graviton3 وGCP T2A فقط من حيث عدد نوى المعالجة.
:::ملاحظة
في سيناريو الاختبار الحالي، يمكن فهم نسبة التكلفة إلى الأداء على النحو التالي: QPS/التكلفة.
:::
يوضح الجدول التالي مقارنة أسعار الساعة للخوادم لنوى مختلفة لـ AWS C7g (شرق الولايات المتحدة أوهايو)، وGCP T2A (us-central1)، وAzure Dpsv5 (شرق الولايات المتحدة):
سلسلة الآلة الافتراضية / vCPU | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
---|---|---|---|---|---|---|---|
AWS C7g | $0.0361 | $0.0723 | $0.1445 | $0.289 | $0.5781 | $1.1562 | $1.7342 |
GCP T2A | $0.0385 | $0.077 | $0.154 | $0.308 | $0.616 | $1.232 | $1.848 |
Azure Dpsv5 | * | $0.077 | $0.154 | $0.308 | $0.616 | $1.232 | $1.848 |
يلخص الجدول التالي التكلفة ونسبة التكلفة إلى الأداء لـ AWS c7g.large وGCP t2a-standard-2 عند التشغيل لمدة عام واحد، مع الإشارة إلى بيانات QPS لمصدر واحد في اختبار أداء Apache APISIX. كلما كان الرقم أكبر، زادت QPS التي يمكن الحصول عليها بالسعر الوحدة.
التكلفة السنوية | نسبة التكلفة إلى الأداء (QPS/التكلفة) | |
---|---|---|
AWS c7g.large | $633.3 | 36.3 |
GCP t2a-standard-2 | $674.5 | 16.8 |
Azure D2ps v5 | $398.0(خصم 41%) | 33.6 |
من نتائج الاختبار، يتمتع AWS C7g بنسبة تكلفة إلى أداء أفضل من GCP T2A وAzure Dpsv5. على الرغم من أن Azure Dpsv5 لديه تحسن في الأداء بنسبة 15% فقط مقارنة بـ GCP T2A، إلا أن نسبة التكلفة إلى الأداء تقريبًا ضعف.
الخلاصة
أطلقت AWS أول معالج يعتمد على ARM، AWS Graviton، في عام 2018. وكانت متقدمة بحوالي 4 سنوات عن GCP في نشر مجال خوادم ARM. الآن تطور معالج AWS Graviton إلى الجيل الثالث.
من خلال نتائج اختبار الأداء وتحليل نسبة التكلفة إلى الأداء لـ Apache APISIX، يمكننا أن نرى أن AWS Graviton3 يتمتع بأداء أعلى ونسبة تكلفة إلى أداء أفضل من GCP T2A وAzure Dpsv5. هذا لا ينفصل عن حقيقة أن AWS كانت تعمل في مجال خوادم ARM لسنوات عديدة.
بالإضافة إلى ذلك، استخدمنا اختبارات ربط نواة واحدة لـ Apache APISIX أثناء الاختبار، وقد تتحسن نسبة التكلفة إلى الأداء لـ AWS Graviton 3 بشكل أكبر إذا تم استخدام نوى متعددة.