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

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

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

تشرح هذه المقالة ملفات التعريف المختلفة في التحجيم التلقائي وكيفية استخدامها.

يمكنك الحصول على ملف تعريف واحد أو أكثر في إعداد التحجيم التلقائي.

هناك ثلاثة أنواع من ملفات التعريف:

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

في كل مرة يتم فيها تشغيل خدمة التحجيم التلقائي، يتم تقييم ملفات التعريف بالترتيب التالي:

  1. ملفات تعريف التاريخ الثابت
  2. ملفات التعريف المتكررة
  3. ملف التعريف الافتراضي

إذا تطابقت إعدادات التاريخ والوقت لملف التعريف مع الوقت الحالي، فإن التحجيم التلقائي يطبق قواعد ملف التعريف وحدود السعة. يتم استخدام ملف التعريف الأول القابل للتطبيق فقط.

يظهر المثال التالي إعداد مقياس تلقائي مع ملف تعريف افتراضي وملف تعريف متكرر.

لقطة شاشة تعرض إعداد مقياس تلقائي مع ملف تعريف افتراضي ومتكرر أو شرط مقياس.

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

ملفات تعريف متجاورة متعددة

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

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

تلميح

لإعداد ملفات تعريف متعددة متقاربة باستخدام المدخل، اترك وقت الانتهاء فارغا. سيتوقف استخدام ملف التعريف الحالي عندما يصبح ملف التعريف التالي نشطا. حدد وقت الانتهاء فقط عندما تريد العودة إلى ملف التعريف الافتراضي. يتم دعم إنشاء ملف تعريف متكرر بدون وقت انتهاء فقط عبر المدخل وقوالب ARM.

ملفات تعريف متعددة باستخدام القوالب وCLI وPowerShell

عند إنشاء ملفات تعريف متعددة باستخدام القوالب وCLI وPowerShell، اتبع الإرشادات أدناه.

راجع قسم التحجيم التلقائي لتعريف مورد قالب ARM للحصول على مرجع قالب كامل.

لا توجد مواصفات في القالب لوقت الانتهاء. سيظل ملف التعريف نشطا حتى وقت بدء ملف التعريف التالي.

إضافة ملف تعريف متكرر باستخدام قوالب ARM

يوضح المثال التالي كيفية إنشاء ملفي تعريف متكررين. ملف تعريف واحد لعطلات نهاية الأسبوع من الساعة 00:01 صباح السبت وملف تعريف آخر ليوم من أيام الأسبوع يبدأ يوم الاثنين الساعة 04:00. وهذا يعني أن ملف تعريف عطلة نهاية الأسبوع يبدأ صباح السبت في دقيقة واحدة مرت منتصف الليل وتنتهي في صباح يوم الاثنين في الساعة 04:00. سيبدأ ملف تعريف Weekday في الساعة 4 صباحا يوم الاثنين وينتهي بعد منتصف الليل صباح السبت.

استخدم الأمر التالي لنشر القالب: az deployment group create --name VMSS1-Autoscale-607 --resource-group rg-vmss1 --template-file VMSS1-autoscale.json حيث VMSS1-autoscale.json هو الملف الذي يحتوي على كائن JSON التالي.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Insights/autoscaleSettings",
            "apiVersion": "2015-04-01",
            "name": "VMSS1-Autoscale-607",
            "location": "eastus",
            "properties": {

                "name": "VMSS1-Autoscale-607",
                "enabled": true,
                "targetResourceUri": "/subscriptions/0000aaaa-11BB-cccc-dd22-eeeeee333333/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
                "profiles": [
                    {
                        "name": "Weekday profile",
                        "capacity": {
                            "minimum": "3",
                            "maximum": "20",
                            "default": "3"
                        },
                        "rules": [
                            {
                                "scaleAction": {
                                    "direction": "Increase",
                                    "type": "ChangeCount",
                                    "value": "1",
                                    "cooldown": "PT5M"
                                },
                                "metricTrigger": {
                                    "metricName": "Inbound Flows",
                                    "metricNamespace": "microsoft.compute/virtualmachinescalesets",
                                    "metricResourceUri": "/subscriptions/0000aaaa-11BB-cccc-dd22-eeeeee333333/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
                                    "operator": "GreaterThan",
                                    "statistic": "Average",
                                    "threshold": 100,
                                    "timeAggregation": "Average",
                                    "timeGrain": "PT1M",
                                    "timeWindow": "PT10M",
                                    "Dimensions": [],
                                    "dividePerInstance": true
                                }
                            },
                            {
                                "scaleAction": {
                                    "direction": "Decrease",
                                    "type": "ChangeCount",
                                    "value": "1",
                                    "cooldown": "PT5M"
                                },
                                "metricTrigger": {
                                    "metricName": "Inbound Flows",
                                    "metricNamespace": "microsoft.compute/virtualmachinescalesets",
                                    "metricResourceUri": "/subscriptions/0000aaaa-11BB-cccc-dd22-eeeeee333333/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
                                    "operator": "LessThan",
                                    "statistic": "Average",
                                    "threshold": 60,
                                    "timeAggregation": "Average",
                                    "timeGrain": "PT1M",
                                    "timeWindow": "PT10M",
                                    "Dimensions": [],
                                    "dividePerInstance": true
                                }
                            }
                        ],
                        "recurrence": {
                            "frequency": "Week",
                            "schedule": {
                                "timeZone": "E. Europe Standard Time",
                                "days": [
                                    "Monday"
                                ],
                                "hours": [
                                    4
                                ],
                                "minutes": [
                                    0
                                ]
                            }
                        }
                    },
                    {
                        "name": "Weekend profile",
                        "capacity": {
                            "minimum": "1",
                            "maximum": "3",
                            "default": "1"
                        },
                        "rules": [],
                        "recurrence": {
                            "frequency": "Week",
                            "schedule": {
                                "timeZone": "E. Europe Standard Time",
                                "days": [
                                    "Saturday"                                    
                                ],
                                "hours": [
                                    0
                                ],
                                "minutes": [
                                    1
                                ]
                            }
                        }
                    }
                ],
                "notifications": [],
                "targetResourceLocation": "eastus"
            }

        }
    ]
}    

الخطوات التالية