Share via


Online végpont automatikus skálázása

ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Az automatikus skálázás automatikusan a megfelelő mennyiségű erőforrást futtatja az alkalmazásra háruló terhelés kezeléséhez. Az online végpontok az automatikus skálázást az Azure Monitor automatikus skálázási funkciójával való integrációval támogatják.

Az Azure Monitor automatikus skálázása számos szabályt támogat. Konfigurálhat metrikákon alapuló skálázást (például 70%-os processzorkihasználtságot >), ütemezésalapú skálázást (például a csúcsidőre vonatkozó skálázási szabályokat) vagy egy kombinációt. További információ: Az automatikus skálázás áttekintése a Microsoft Azure-ban.

Diagram a példány szükség szerinti automatikus skálázásához/eltávolításához

Ma az automatikus skálázást az Azure CLI, a REST, az ARM vagy a böngészőalapú Azure Portal használatával kezelheti. Más Azure Machine-Tanulás SDK-k, például a Python SDK idővel támogatást nyújtanak.

Előfeltételek

Automatikus skálázási profil meghatározása

Egy végpont automatikus skálázásának engedélyezéséhez először meg kell határoznia egy automatikus skálázási profilt. Ez a profil határozza meg a méretezési csoport alapértelmezett, minimális és maximális kapacitását. Az alábbi példa az alapértelmezett és minimális kapacitást két virtuálisgép-példányként, a maximális kapacitást pedig ötként állítja be:

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

A következő kódrészlet állítja be a végpont és az üzembe helyezés nevét:

# set your existing endpoint name
ENDPOINT_NAME=your-endpoint-name
DEPLOYMENT_NAME=blue

Ezután kérje le az üzembe helyezés és a végpont Azure Resource Manager-azonosítóját:

# 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 alábbi kódrészlet hozza létre az automatikus méretezési profilt:

az monitor autoscale create \
  --name $AUTOSCALE_SETTINGS_NAME \
  --resource $DEPLOYMENT_RESOURCE_ID \
  --min-count 2 --max-count 5 --count 2

Feljegyzés

További információkért tekintse meg az automatikus skálázás referenciaoldalát

Szabály létrehozása a metrikák használatával történő felskálázáshoz

Gyakori horizontális felskálázási szabály az, amely növeli a virtuálisgép-példányok számát, ha az átlagos processzorterhelés magas. Az alábbi példa két további csomópontot foglal le (a maximális értékig), ha a processzor átlagos terhelése 70%-nál nagyobb öt percig:

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

az monitor autoscale rule create \
  --autoscale-name $AUTOSCALE_SETTINGS_NAME \
  --condition "CpuUtilizationPercentage > 70 avg 5m" \
  --scale out 2

A szabály a my-scale-settings profil része (autoscale-name megegyezik a name profillal). Az argumentum értéke condition szerint a szabálynak akkor kell aktiválnia, ha "A virtuálisgép-példányok átlagos processzorhasználata öt percig meghaladja a 70%-ot." Ha ez a feltétel teljesül, két további virtuálisgép-példány lesz lefoglalva.

Feljegyzés

A parancssori felület szintaxisával kapcsolatos további információkért lásd: az monitor autoscale.

Szabály létrehozása metrikák használatával történő méretezéshez

Ha a terhelés könnyű, a szabály skálázása csökkentheti a virtuálisgép-példányok számát. Az alábbi példa egy csomópontot bocsát ki legalább 2-es értékre, ha a cpu terhelése 5 percig 30%-nál kisebb:

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

az monitor autoscale rule create \
  --autoscale-name $AUTOSCALE_SETTINGS_NAME \
  --condition "CpuUtilizationPercentage < 25 avg 5m" \
  --scale in 1

Skálázási szabály létrehozása végpontmetrikák alapján

Az üzembe helyezésre alkalmazott korábbi szabályok. Most adjon hozzá egy, a végpontra vonatkozó szabályt. Ebben a példában, ha a kérés késése 5 percig átlagosan 70 ezredmásodpercnél nagyobb, foglaljon le egy másik csomópontot.

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

az monitor autoscale rule create \
 --autoscale-name $AUTOSCALE_SETTINGS_NAME \
 --condition "RequestLatency > 70 avg 5m" \
 --scale out 1 \
 --resource $ENDPOINT_RESOURCE_ID

Méretezési szabályok létrehozása ütemezés alapján

Olyan szabályokat is létrehozhat, amelyek csak bizonyos napokon vagy bizonyos időpontokban érvényesek. Ebben a példában a csomópontok száma hétvégén 2-re van állítva.

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

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"

Automatikus skálázás engedélyezése vagy letiltása

Engedélyezheti vagy letilthatja az automatikus skálázási profilokat.

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

az monitor autoscale update \
  --autoscale-name $AUTOSCALE_SETTINGS_NAME \
  --enabled false

Erőforrások törlése

Ha nem fogja használni az üzemelő példányokat, törölje őket:

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

# 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

Következő lépések

Az Azure Monitor automatikus skálázásával kapcsolatos további információkért tekintse meg az alábbi cikkeket: