القياس التلقائي لنقطة نهاية مدارة عبر الإنترنت (معاينة)
يقوم القياس التلقائي تلقائيا بتشغيل الكمية المناسبة من الموارد للتعامل مع الحمل على التطبيق الخاص بك. تدعم نقاط النهاية المدارة القياس التلقائي من خلال التكامل مع ميزة القياس التلقائي ل Azure Monitor.
يدعم القياس التلقائي ل Azure Monitor مجموعة غنية من القواعد. يمكنك تكوين القياس المستند إلى المقاييس (على سبيل المثال، استخدام >وحدة المعالجة المركزية بنسبة 70٪)، أو القياس المستند إلى الجدول الزمني (على سبيل المثال، قواعد القياس لساعات ذروة العمل)، أو الجمع. لمزيد من المعلومات، راجع نظرة عامة حول القياس التلقائي في Microsoft Azure.
اليوم، يمكنك إدارة القياس التلقائي باستخدام Azure CLI أو REST أو ARM أو مدخل Azure المستند إلى المستعرض. ستضيف مجموعات Azure ML SDK الأخرى ، مثل Python SDK ، الدعم بمرور الوقت.
هام
تُعد هذه الميزة قيد المعاينة العامة في الوقت الحالي. يجري توفير إصدار المعاينة هذا من دون اتفاقية على مستوى الخدمة، ولا يوصى به لأحمال العمل الخاصة بالإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
المتطلبات الأساسية
- نقطة نهاية تم نشرها. نشر نموذج تعلم آلي وتسجيله باستخدام نقطة نهاية (معاينة) مدارة عبر الإنترنت.
تعريف ملف تعريف التحجيم التلقائي
لتمكين القياس التلقائي لنقطة نهاية، يمكنك أولا تعريف ملف تعريف القياس التلقائي. يُحدد ملف التعريف هذا سعة مجموعة التحجيم الافتراضية والحد الأدنى والحد الأقصى. يقوم المثال التالي بتعيين السعة الافتراضية والحد الأدنى كمثيلين VM، والسعة القصوى خمسة:
APPLY TO: Azure CLI ml extension
v1
v2 (معاينة)
يقوم المقتطف التالي بتعيين أسماء نقاط النهاية والنشر:
# set your existing endpoint name
ENDPOINT_NAME=your-endpoint-name
DEPLOYMENT_NAME=blue
بعد ذلك، احصل على معرف Azure Resource Manager للنشر ونقطة النهاية:
# ARM id of the deployment
DEPLOYMENT_RESOURCE_ID=$(az ml online-deployment show -e $ENDPOINT_NAME -n $DEPLOYMENT_NAME -o tsv --query "id")
# ARM id of the deployment. todo: change to --query "id"
ENDPOINT_RESOURCE_ID=$(az ml online-endpoint show -n $ENDPOINT_NAME -o tsv --query "properties.\"azureml.onlineendpointid\"")
# set a unique name for autoscale settings for this deployment. The below will append a random number to make the name unique.
AUTOSCALE_SETTINGS_NAME=autoscale-$ENDPOINT_NAME-$DEPLOYMENT_NAME-`echo $RANDOM`
ينشئ المقتطف التالي ملف تعريف المقياس التلقائي:
az monitor autoscale create \
--name $AUTOSCALE_SETTINGS_NAME \
--resource $DEPLOYMENT_RESOURCE_ID \
--min-count 2 --max-count 5 --count 2
ملاحظة
لمزيد من المعلومات، راجع الصفحة المرجعية للقياس التلقائي
إنشاء قاعدة للتوسع باستخدام المقاييس
قاعدة التوسع الشائعة هي القاعدة التي تزيد من عدد مثيلات VM عندما يكون متوسط حمل وحدة المعالجة المركزية مرتفعا. سيقوم المثال التالي بتخصيص عقدتين أخريين (حتى الحد الأقصى) إذا كان متوسط حمل وحدة المعالجة المركزية أكبر من 70٪ لمدة خمس دقائق::
APPLY TO: Azure CLI ml extension
v1
v2 (معاينة)
az monitor autoscale rule create \
--autoscale-name $AUTOSCALE_SETTINGS_NAME \
--condition "CpuUtilizationPercentage > 70 avg 5m" \
--scale out 2
القاعدة هي جزء من my-scale-settings ملف التعريف (يطابقautoscale-namename ملف التعريف). تقول قيمة وسيطتها condition أنه يجب تشغيل القاعدة عندما "يتجاوز متوسط استهلاك وحدة المعالجة المركزية بين مثيلات VM 70٪ لمدة خمس دقائق". عند استيفاء هذا الشرط، يتم تخصيص مثيلين آخرين من VM.
ملاحظة
لمزيد من المعلومات حول بناء جملة CLI، راجع az monitor autoscale.
إنشاء قاعدة للقياس باستخدام المقاييس
عندما يكون الحمل خفيفا، يمكن أن يؤدي القياس في القاعدة إلى تقليل عدد مثيلات الجهاز الظاهري. سيقوم المثال التالي بتحرير عقدة واحدة، وصولا إلى 2 كحد أدنى، إذا كان حمل وحدة المعالجة المركزية أقل من 30٪ لمدة 5 دقائق:
APPLY TO: Azure CLI ml extension
v1
v2 (معاينة)
az monitor autoscale rule create \
--autoscale-name $AUTOSCALE_SETTINGS_NAME \
--condition "CpuUtilizationPercentage < 25 avg 5m" \
--scale in 1
إنشاء قاعدة قياس استنادا إلى مقاييس نقطة النهاية
كانت القواعد السابقة تنطبق على النشر. الآن ، أضف قاعدة تنطبق على نقطة النهاية. في هذا المثال، إذا كان زمن انتقال الطلب أكبر من متوسط 70 مللي ثانية لمدة 5 دقائق، فقم بتخصيص عقدة أخرى.
APPLY TO: Azure CLI ml extension
v1
v2 (معاينة)
az monitor autoscale rule create \
--autoscale-name $AUTOSCALE_SETTINGS_NAME \
--condition "RequestLatency > 70 avg 5m" \
--scale out 1 \
--resource $ENDPOINT_RESOURCE_ID
إنشاء قواعد تغيير الحجم استنادا إلى جدول زمني
يمكنك أيضا إنشاء قواعد تنطبق فقط على أيام معينة أو في أوقات معينة. في هذا المثال، يتم تعيين عدد العقدة إلى 2 في عطلة نهاية الأسبوع.
APPLY TO: Azure CLI ml extension
v1
v2 (معاينة)
az monitor autoscale profile create \
--name weekend-profile \
--autoscale-name $AUTOSCALE_SETTINGS_NAME \
--min-count 2 --count 2 --max-count 2 \
--recurrence week sat sun --timezone "Pacific Standard Time"
حذف الموارد
إذا كنت لن تستخدم عمليات النشر الخاصة بك، فاحذفها:
APPLY TO: Azure CLI ml extension
v1
v2 (معاينة)
# delete the autoscaling profile
az monitor autoscale delete -n "$AUTOSCALE_SETTINGS_NAME"
# delete the endpoint
az ml online-endpoint delete --name $ENDPOINT_NAME --yes --no-wait
الخطوات التالية
لمعرفة المزيد حول القياس التلقائي باستخدام Azure Monitor، راجع المقالات التالية:







