التحجيم التلقائي في Azure App Service

إشعار

يتوفر التحجيم التلقائي لجميع أنواع التطبيقات: Windows وLinux (النشر كتعليق برمجي وحاوية). التحجيم التلقائي غير مدعوم لحركة مرور فتحة التوزيع.

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

مقارنة بين توسيع النطاق وتوسيع نطاق الخيارات المتوفرة على App Service:

  يدوي التحجيم التلقائي التحجيم التلقائي
مستويات الأسعار المتوفرة أساسي ولأعلى قياسي ولأعلى مستويات تسعير Premium V2 (P1V2 وP2V2 وP3V2) وPremium V3 (P0V3 وP1V3 وP2V3 وP3V3 وP1MV3 وP2MV3 وP3MV3 وP4MV3 وP5MV3)
التحجيم المستند إلى القواعد لا ‏‏نعم‬ لا، يدير النظام الأساسي التوسع واستنادا إلى نسبة استخدام الشبكة HTTP.
التحجيم المستند إلى الجدول الزمني لا نعم لا
مثيلات جاهزة دائمًا لا، يتم تشغيل تطبيق الويب الخاص بك على عدد المثيلات التي تم تحجيمها يدويا. لا، يتم تشغيل تطبيق الويب الخاص بك على مثيلات أخرى متوفرة أثناء عملية التوسيع، استنادا إلى الحد المحدد لقواعد التحجيم التلقائي. نعم (الحد الأدنى 1)
مثيلات مسبقة الحرب لا لا نعم (الافتراضي 1)
الحد الأقصى لكل تطبيق لا لا ‏‏نعم‬

كيفية عمل التحجيم التلقائي

يمكنك تمكين التحجيم التلقائي لخطة خدمة التطبيقات وتكوين مجموعة من المثيلات لكل تطبيق من تطبيقات الويب. عندما يبدأ تطبيق الويب الخاص بك في تلقي حركة مرور HTTP، تراقب App Service الحمل وتضيف المثيلات. قد تتم مشاركة الموارد عندما تكون تطبيقات الويب المتعددة ضمن خطة خدمة التطبيقات مطلوبة لتوسيع نطاقها في وقت واحد.

فيما يلي بعض السيناريوهات التي يجب توسيع نطاقها تلقائيا:

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

تمكين التحجيم التلقائي

الحد الأقصى للاندفاع هو أكبر عدد من المثيلات التي يمكن أن تزيدها خطة خدمة التطبيقات استنادا إلى طلبات HTTP الواردة. بالنسبة لخطط Premium v2 وv3، يمكنك تعيين اندفاع أقصى يصل إلى 30 مثيلا. يجب أن يكون الحد الأقصى للاندفاع مساويا لعدد العمال المحدد لخطة App Service أو أكبر منه.

لتمكين التحجيم التلقائي، انتقل إلى القائمة اليسرى لتطبيق الويب وحدد scale-out (App Service Plan) . حدد تلقائي، وقم بتحديث قيمة الاندفاع الأقصى، وحدد الزر حفظ.

التحجيم التلقائي في مدخل Microsoft Azure

تعيين الحد الأدنى لعدد مثيلات تطبيق الويب

المثيلات الجاهزة دائما هي إعداد على مستوى التطبيق لتحديد الحد الأدنى لعدد المثيلات. إذا تجاوز التحميل ما يمكن للمثيلات الجاهزة دائما التعامل معه، تتم إضافة مثيلات إضافية (حتى الحد الأقصى المحدد للاندفاع لخطة خدمة التطبيقات).

لتعيين الحد الأدنى لعدد مثيلات تطبيق الويب، انتقل إلى القائمة اليسرى لتطبيق الويب وحدد scale-out (App Service Plan). قم بتحديث قيمة المثيلات الجاهزة دائما، وحدد الزر حفظ.

لقطة شاشة للمثيلات الجاهزة دائما

تعيين الحد الأقصى لعدد مثيلات تطبيق الويب

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

لتعيين الحد الأقصى لعدد مثيلات تطبيق الويب، انتقل إلى القائمة اليسرى لتطبيق الويب وحدد scale-out (App Service Plan). حدد فرض حد التوسيع، وقم بتحديث الحد الأقصى للمقياس، وحدد الزر حفظ .

لقطة شاشة للحد الأقصى للمقياس

تحديث المثيلات مسبقة الحرب

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

لا يمكنك تغيير إعداد المثيل مسبق الحرب في المدخل، يجب عليك بدلا من ذلك استخدام Azure CLI.

تعطيل التحجيم التلقائي

لتعطيل التحجيم التلقائي، انتقل إلى القائمة اليسرى لتطبيق الويب وحدد scale-out (App Service Plan). حدد يدوي، وحدد الزر حفظ .

لقطة شاشة للتحجيم اليدوي

هل يدعم التحجيم التلقائي تطبيقات Azure Function؟

تنبيه

يتم تعطيل التحجيم التلقائي عندما تكون تطبيقات ويب App Service وتطبيقات Azure Function في نفس خطة خدمة التطبيقات.

لا، يمكنك فقط الحصول على تطبيقات ويب Azure App Service في خطة خدمة التطبيقات حيث ترغب في تمكين التحجيم التلقائي. بالنسبة إلى Functions، يوصى باستخدام خطة Azure Functions Premium بدلا من ذلك.

كيف يعمل التحجيم التلقائي خلف الكواليس؟

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

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

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

كيف أعمل تتم محاسبتك على مثيلات مسبقة الحرب؟

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

عندما يكون تطبيق الويب الخاص بك خاملا ولا يتلقى أي طلبات HTTP، فإنه يعمل مع المثيلات الخمسة الجاهزة دائما. خلال هذا الوقت، لا تتم محاسبتك على مثيل مسبق الاستعداد لأنه لا يتم استخدام المثيلات الجاهزة دائما، وبالتالي لا يتم تخصيص مثيل مسبق الاستعداد.

ومع ذلك، بمجرد أن يبدأ تطبيق الويب الخاص بك في تلقي طلبات HTTP وتصبح المثيلات الخمسة الجاهزة دائما نشطة، يتم تخصيص مثيل مسبق، وتبدأ الفوترة له.

إذا استمر معدل طلبات HTTP في الزيادة وقررت App Service توسيع نطاقها إلى ما بعد المثيلات الخمسة الأولية، فستبدأ في استخدام المثيل السابق للتحجيم. وهذا يعني أنه عند وجود ستة مثيلات نشطة، يتم توفير مثيل سابع على الفور لملء المخزن المؤقت مسبق الحرب.

تستمر عملية التحجيم والتحجيم المسبق هذه حتى يتم الوصول إلى الحد الأقصى لعدد المثيلات للتطبيق. من المهم ملاحظة أنه لا توجد مثيلات مسبقة التأزم أو تنشيطها تتجاوز الحد الأقصى لعدد المثيلات.

لماذا تحتوي AppServiceHTTPLogs على إدخالات سجل مشابهة ل "/admin/host/ping" بحالة 404؟

يتحقق /admin/host/ping التحجيم التلقائي لخدمة التطبيقات بشكل دوري من نقطة النهاية جنبا إلى جنب مع آليات التحقق من الصحة الأخرى المتأصلة في النظام الأساسي. هذه الفحوصات هي ميزات يتم تنفيذها على وجه التحديد. في بعض الأحيان، بسبب تكوينات النظام الأساسي الموجودة، قد يتم إرجاع 404 أخطاء بواسطة هذه الشبكات. ومع ذلك، من المهم ملاحظة أن هذه الأخطاء ال 404 يجب ألا تؤثر على توفر التطبيق أو أداء التحجيم.

إذا كان تطبيق الويب الخاص بك يرجع حالة 5xx، فقد تؤدي نقاط النهاية هذه إلى إعادة تشغيل متقطعة، على الرغم من أن هذا غير شائع. نقوم حاليا بتنفيذ تحسينات لمعالجة عمليات إعادة التشغيل المتقطعة هذه. حتى ذلك الحين، يرجى التأكد من أن تطبيق الويب الخاص بك لا يرجع حالة 5xx عند نقطة النهاية هذه. يرجى العلم أنه لا يمكن تخصيص نقاط نهاية ping هذه.

كيف أعمل تعقب عدد المثيلات التي تم تحجيمها أثناء حدث التحجيم التلقائي؟

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

كيف يؤثر تقارب ARR على التحجيم التلقائي؟

تستخدم Azure App Service ملفات تعريف ارتباط توجيه طلب التطبيق المعروفة باسم ترابط ARR. تقيد ملفات تعريف الارتباط ترابط ARR التحجيم لأنها ترسل الطلبات فقط إلى الخوادم المقترنة بملفات تعريف الارتباط، بدلا من أي مثيل متوفر. بالنسبة للتطبيقات التي تخزن الحالة، من الأفضل توسيع نطاقها (زيادة الموارد على مثيل واحد). بالنسبة للتطبيقات عديمة الحالة، يوفر التوسع (إضافة المزيد من المثيلات) مزيدا من المرونة وقابلية التوسع. يتم تمكين ملفات تعريف ارتباط ترابط ARR بشكل افتراضي على App Service. اعتمادا على احتياجات التطبيق الخاص بك، يمكنك اختيار تعطيل ملفات تعريف الارتباط ترابط ARR عند استخدام التحجيم التلقائي.

لتعطيل ملفات تعريف الارتباط ARR Affinity: حدد تطبيق App Service، وضمن Settings، حدد Configuration. بعد ذلك، حدد علامة التبويب الإعدادات العامة. ضمن ترابط ARR، حدد إيقاف التشغيل ثم حدد زر الحفظ.

المزيد من الموارد