Az automatikus méretezési beállítások ismertetése

Az automatikus méretezési beállítások segítenek biztosítani, hogy a megfelelő mennyiségű erőforrás fusson az alkalmazás ingadozó terhelésének kezeléséhez. Az automatikus skálázási beállításokat úgy konfigurálhatja, hogy a terhelést vagy teljesítményt jelző metrikák alapján aktiválódjanak, vagy ütemezett időpontban aktiválódjanak.

Ez a cikk az automatikus méretezési beállításokat ismerteti.

Automatikus méretezési beállítás séma

Az alábbi példa egy automatikus skálázási beállítást mutat be az alábbi attribútumokkal:

  • Egyetlen alapértelmezett profil.
  • Ebben a profilban két metrikaszabály található: egy a vertikális felskálázáshoz, egy pedig a vertikális felskálázáshoz.
    • A horizontális felskálázási szabály akkor aktiválódik, ha a virtuálisgép-méretezési csoport átlagos százalékos CPU-metrikája az elmúlt 10 percben meghaladja a 85%-ot.
    • A méretezési szabály akkor aktiválódik, ha a virtuálisgép-méretezési csoport átlaga az elmúlt percben kevesebb mint 60%.

Megjegyzés:

Egy beállítás több profillal is rendelkezhet. További információkért tekintse meg a profilok szakaszt. A profilok több kiskálázási és vertikálisan felskálázási szabályt is definiálhatnak. A kiértékelés módjának megtekintéséhez tekintse meg a kiértékelési szakaszt.

{
    "$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/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
    "profiles": [
      {
        "name": "Auto created default scale condition",
        "capacity": {
          "minimum": "1",
          "maximum": "4",
          "default": "1"
        },
        "rules": [
          {
            "metricTrigger": {
              "metricName": "Percentage CPU",
              "metricResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
              "timeGrain": "PT1M",
              "statistic": "Average",
              "timeWindow": "PT10M",
              "timeAggregation": "Average",
              "operator": "GreaterThan",
              "threshold": 85
            },
            "scaleAction": {
              "direction": "Increase",
              "type": "ChangeCount",
              "value": "1",
              "cooldown": "PT5M"
            }
          },
          {
            "metricTrigger": {
              "metricName": "Percentage CPU",
              "metricResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
              "timeGrain": "PT1M",
              "statistic": "Average",
              "timeWindow": "PT10M",
              "timeAggregation": "Average",
              "operator": "LessThan",
              "threshold": 60
            },
            "scaleAction": {
              "direction": "Decrease",
              "type": "ChangeCount",
              "value": "1",
              "cooldown": "PT5M"
            }
          }
        ]
      }
    ]
  }
}

Az alábbi táblázat az előző automatikus méretezési beállítás JSON-jának elemeit ismerteti.

Szakasz Elem neve Portál neve Leírás
Beállítás Azonosító Az automatikus méretezési beállítás erőforrás-azonosítója. Az automatikus méretezési beállítások egy Azure Resource Manager-erőforrás.
Beállítás név Az automatikus méretezési beállítás neve.
Beállítás hely Az automatikus méretezési beállítás helye. Ez a hely eltérhet a skálázandó erőforrás helyétől.
tulajdonságok targetResourceUri A skálázandó erőforrás erőforrás-azonosítója. Erőforrásonként csak egy automatikus méretezési beállítással rendelkezhet.
tulajdonságok Profilok Skálázási feltétel Az automatikus méretezési beállítások egy vagy több profilból állnak. Minden alkalommal, amikor az automatikus skálázási motor fut, egy profilt hajt végre. Automatikus méretezési beállításonként legfeljebb 20 profilt konfigurálhat.
Profilok név A profil neve. Bármilyen nevet választhat, amely segít azonosítani a profilt.
Profilok capacity.maximum Példánykorlátok – Maximális A maximálisan engedélyezett kapacitás. Biztosítja, hogy az automatikus skálázás ne skálázza az erőforrást ennél a számnál a profil végrehajtásakor.
Profilok kapacitás.minimum Példánykorlátok – Minimum A minimálisan engedélyezett kapacitás. Biztosítja, hogy az automatikus skálázás ne skálázza az erőforrást e szám alatt a profil végrehajtásakor
Profilok capacity.default Példánykorlátok – Alapértelmezett Ha probléma merül fel az erőforrásmetrika olvasása során, és az aktuális kapacitás az alapértelmezett érték alatt van, az automatikus skálázás az alapértelmezett értékre skálázódik. Ez a művelet biztosítja az erőforrás rendelkezésre állását. Ha az aktuális kapacitás már magasabb az alapértelmezett kapacitásnál, az automatikus skálázás nem skálázódik be.
Profilok szabályok Szabályok Az automatikus skálázás automatikusan skálázódik a maximális és a minimális kapacitás között a profil szabályainak használatával. Legfeljebb 10 egyéni szabály definiálása egy profilban. A szabályok általában párokban vannak definiálva, az egyik a felskálázás időpontjának meghatározására, a másik pedig a skálázás időpontjának meghatározására.
Szabály metricTrigger Szabály skálázása Meghatározza a szabály metrikafeltételét.
metricTrigger metricName Metrika neve A metrika neve.
metricTrigger metricResourceUri A metrikát kibocsátó erőforrás erőforrás-azonosítója. A legtöbb esetben ugyanaz, mint a skálázandó erőforrás. Bizonyos esetekben ez más lehet. Skálázhat például egy virtuálisgép-méretezési csoportot a tárolási üzenetsor üzeneteinek száma alapján.
metricTrigger timeGrain Időszemcse (perc) A metrika mintavételezési időtartama. A timeGrain = "PT1M" például azt jelenti, hogy a metrikákat 1 percenként kell összesíteni a statisztikai elemben megadott összesítési módszerrel.
metricTrigger Statisztika Időfelbontási szint statisztikája Az aggregációs módszer a timeGrain időszakon belül. Például a statisztika = "Átlag" és timeGrain = "PT1M" azt jelenti, hogy a metrikákat 1 percenként kell összesíteni az átlag figyelembevételével. Ez a tulajdonság határozza meg a metrikák mintavételi módját.
metricTrigger timeWindow Duration A metrikák visszakeresési ideje. A timeWindow = "PT10M" például azt jelenti, hogy az automatikus skálázás minden futtatásakor az elmúlt 10 percben lekérdezi a metrikákat. Az időablak lehetővé teszi a metrikák normalizálását, és elkerüli az átmeneti csúcsokra való reagálást.
metricTrigger timeAggregation Idő összesítése A mintául szolgáló metrikák összesítéséhez használt összesítési módszer. A timeAggregation = "Average" például az átlag alapján összesíti a mintául szolgáló metrikákat. Az előző esetben vegye ki a tíz 1 perces mintát, és átlagozza őket.
Szabály scaleAction Action A szabály metricTriggerjének aktiválásakor végrehajtandó művelet.
scaleAction irány Művelet "Növekedés" a vertikális felskálázáshoz, vagy "Csökkentés" a méretezéshez.
scaleAction Érték Példányok száma Az erőforrás kapacitásának növelése vagy csökkentése.
scaleAction cooldown Lehűlés (perc) A méretezési művelet utáni várakozási idő a skálázás újraméretezése előtt. A lehűlési időszak egy felskálázási vagy vertikális felskálázási esemény után lép érvénybe. Ha például a lehűlés = "PT10M", az automatikus skálázás nem próbálja meg újra skálázni további 10 percig. A lehűlés lehetővé teszi, hogy a metrikák stabilizálódjanak a példányok hozzáadása vagy eltávolítása után.

Automatikus méretezési profilok

Automatikus méretezési beállításonként legfeljebb 20 különböző profil definiálása.
Az automatikus skálázási profilok háromféleképpen használhatók:

  • Alapértelmezett profil: Akkor használja az alapértelmezett profilt, ha nem kell skáláznia az erőforrást egy adott dátum és idő vagy nap alapján. Az alapértelmezett profil akkor fut, ha az aktuális dátumhoz és időponthoz nem tartoznak más vonatkozó profilok. Csak egy alapértelmezett profillal rendelkezhet.

  • Rögzített dátumú profil: A rögzített dátumú profil egyetlen dátum és idő szempontjából releváns. A rögzített dátumú profillal skálázási szabályokat állíthat be egy adott eseményhez. A profil csak egyszer fut az esemény dátumán és idejében. Az automatikus skálázás minden más esetben az alapértelmezett profilt használja.

        ...
        "profiles": [
            {
                "name": " regularProfile",
                "capacity": {
                    ...
                },
                "rules": [
                    ...
                ]
            },
            {
                "name": "eventProfile",
                "capacity": {
                ...
                },
                "rules": [
                    ...
                ],
                "fixedDate": {
                    "timeZone": "Pacific Standard Time",
                    "start": "2017-12-26T00:00:00",
                    "end": "2017-12-26T23:59:00"
                }
            }
        ]
    
  • Ismétlődési profil: Az ismétlődési profil a hét egy napjára vagy napjaira vonatkozik. Az ismétlődő profil sémája nem tartalmaz záródátumot. Az ismétlődő profilok dátumának és időpontjának végét az alábbi profil kezdő időpontja határozza meg. Ha a portált az ismétlődő profilok konfigurálására használják, a rendszer automatikusan frissíti az alapértelmezett profilt, hogy az az ismétlődő profilhoz megadott befejezési időpontban kezdődjön. További információ a több profil konfigurálásáról: Automatikus skálázás több profillal

    A részleges séma példája egy ismétlődő profilt mutat be. 06:00-kor kezdődik, és szombaton és vasárnap 19:00-kor ér véget. Az alapértelmezett profilt úgy módosítottuk, hogy szombaton és vasárnap 19:00-kor kezdődjön.

        {
            "$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/    abc123456-987-f6e5-d43c-9a8d8e7f6541/    resourceGroups/rg-vmss1/providers/    Microsoft.Compute/    virtualMachineScaleSets/VMSS1",
                        "profiles": [
                            {
                                "name": "Weekend profile",
                                "capacity": {
                                    ...
                                },
                                "rules": [
                                    ...
                                ],
                                "recurrence": {
                                    "frequency": "Week",
                                    "schedule": {
                                        "timeZone": "E. Europe     Standard Time",
                                        "days": [
                                            "Saturday",
                                            "Sunday"
                                        ],
                                        "hours": [
                                            6
                                        ],
                                        "minutes": [
                                            0
                                        ]
                                    }
                                }
                            },
                            {
                                "name": "{\"name\":\"Auto created default scale condition\",\"for\":\"Weekend profile\"}",
                                "capacity": {
                                   ...
                                },
                                "recurrence": {
                                    "frequency": "Week",
                                    "schedule": {
                                        "timeZone": "E. Europe     Standard Time",
                                        "days": [
                                            "Saturday",
                                            "Sunday"
                                        ],
                                        "hours": [
                                            19
                                        ],
                                        "minutes": [
                                            0
                                        ]
                                    }
                                },
                                "rules": [   
                                  ...
                                ]
                            }
                        ],
                        "notifications": [],
                        "targetResourceLocation": "eastus"
                    }
    
                }
            ]
                }
    
    

Automatikus skálázás kiértékelése

Az automatikus méretezési beállítások több profillal is rendelkezhetnek. Minden profilhoz több szabály is tartozhat. Minden alkalommal, amikor az automatikus skálázási feladat fut, a megfelelő profil kiválasztásával kezdődik. Az automatikus skálázás ezután kiértékeli a minimális és maximális értékeket, a profil bármely metrikaszabályát, és eldönti, hogy szükséges-e skálázási művelet. Az automatikus méretezési feladat az erőforrás típusától függően 30–60 másodpercenként fut. A skálázási művelet után az automatikus skálázási feladat megvárja a lehűlési időszakot, mielőtt újra skálázódik. A lehűlési időszak a vertikális felskálázási és a vertikális felskálázási műveletekre is vonatkozik.

Melyik profilt fogja automatikusan skálázni?

Az automatikus méretezési szolgáltatás minden futtatásakor a profilok kiértékelése a következő sorrendben történik:

  1. Rögzített dátumú profilok
  2. Ismétlődő profilok
  3. Alapértelmezett profil

A rendszer az első megfelelő profilt használja.

Hogyan értékeli ki az automatikus skálázás több szabályt?

Miután az automatikus skálázás meghatározza, hogy melyik profilt kell futtatni, kiértékeli a profil vertikális felskálázási szabályait, vagyis azt, hogy hol az irány = "Növekedés". Ha egy vagy több horizontális felskálázási szabály aktiválódik, az automatikus skálázás kiszámítja az egyes szabályokhoz megadott scaleAction által meghatározott új kapacitást. Ha egynél több horizontális felskálázási szabály aktiválódik, az automatikus skálázás a legmagasabb megadott kapacitásra skálázódik a szolgáltatás rendelkezésre állásának biztosítása érdekében.

Tegyük fel például, hogy két szabály van: Az 1. szabály három példányra, a 2. szabály pedig ötre skálázza ki a felskálázást. Ha mindkét szabály aktiválódik, az automatikus skálázás öt példányra skálázható fel. Hasonlóképpen, ha az egyik szabály három példánnyal határozza meg a felskálázást, egy másik szabály pedig 15%-kal a vertikális felskálázást, akkor a két példányszám közül a magasabb lesz.

Ha nem aktiválódnak horizontális felskálázási szabályok, az automatikus skálázás kiértékeli a horizontális felskálázási szabályokat, azaz a "Csökkentés" irányú szabályokat. Az automatikus skálázás csak akkor lép fel, ha az összes méretezési szabály aktiválódik.

Az automatikus skálázás kiszámítja az egyes szabályok scaleAction által meghatározott új kapacitást. A szolgáltatás rendelkezésre állásának biztosítása érdekében az automatikus skálázás a lehető legkisebbre skálázható a megadott maximális kapacitás elérése érdekében. Tegyük fel például, hogy két skálázási szabály, az egyik 50%-kal csökkenti a kapacitást, a másik pedig három példánysal csökkenti a kapacitást. Ha az első szabály öt, a második szabály pedig hét példányt eredményez, az automatikus skálázás hét példányra skálázható.

Minden alkalommal, amikor az automatikus skálázás kiszámítja egy méretezési művelet eredményét, kiértékeli, hogy ez a művelet kivált-e vertikális felskálázási műveletet. Az a forgatókönyv, amikor egy skálázási művelet az ellenkező skálázási műveletet aktiválja, az úgynevezett lesimítás. Az automatikus skálázás késleltetheti a méretezési műveletet, hogy elkerülje a felskálázást, vagy a szabályban megadottnál kisebb számmal skálázható. Az automatikus skálázással kapcsolatos további információkért lásd : Flapping in autoscale.

További lépések

További információ az automatikus skálázásról: