Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Automatické škálování zajišťuje, že máte spuštěno správné množství prostředků pro zvládnutí zatížení vaší aplikace. Přidává prostředky pro zpracování nárůstu zatížení a také šetří peníze odebráním prostředků, které jsou nečinné. Další informace o funkci automatického škálování Azure Monitor najdete v tématu Přehled automatického škálování v Microsoft Azure.
Premium zasílání zpráv Service Bus poskytuje izolaci zdrojů na úrovni procesoru a paměti, aby úloha každého zákazníka probíhala izolovaně. Kontejner prostředků se nazývá jednotka zasílání zpráv. Další informace o jednotkách zasílání zpráv najdete v tématu Service Bus Premium Messaging.
Pomocí funkce automatického škálování pro obory názvů Service Bus Premium můžete zadat minimální a maximální počet jednotek msaging units a automaticky přidávat nebo odebírat jednotky zasílání zpráv na základě sady pravidel.
Pomocí funkce automatického škálování můžete například implementovat následující scénáře škálování pro Service Bus obory názvů:
- Zvyšte jednotky zasílání zpráv pro obor názvů Service Bus, pokud využití procesoru oboru názvů přesáhne 75 %.
- Snižte jednotky zasílání zpráv pro obor názvů Service Bus, pokud využití CPU oboru názvů klesne pod 25 %.
- Používejte více jednotek zasílání zpráv během pracovní doby a méně mimo pracovní dobu.
V tomto článku se dozvíte, jak automaticky škálovat obor názvů Service Bus (aktualizovat messaging units) pomocí portálu Azure a šablony Azure Resource Manager.
Důležité
Tento článek se týká jenom úrovně premium Azure Service Bus.
Konfigurace pomocí portálu Azure
V této části se naučíte, jak pomocí portálu Azure nakonfigurovat škálování jednotek zasílání zpráv pro obor názvů Service Bus automaticky.
Stránka nastavení automatického škálování
Nejprve pomocí následujícího postupu přejděte na stránku Nastavení Autoscale oboru názvů služby Service Bus.
Přihlaste se k portálu Azure.
Na panelu hledání zadejte Service Bus, v seznamu vyberte Service Bus a stiskněte Enter.
Vyberte svůj prémiový jmenný prostor ze seznamu jmenných prostorů.
Přepněte na stránku Měřítko .
Ruční škálování
Použijte toto nastavení k určení pevného počtu jednotek zasílání zpráv pro obor názvů.
Na stránce nastavení automatického škálování vyberte ruční škálování, pokud ještě není vybraná.
Pro nastavení jednotky zasílání zpráv vyberte v seznamu počet jednotek zasílání zpráv.
Nastavení uložíte výběrem možnosti Uložit na panelu nástrojů.
Vlastní automatické škálování – výchozí podmínka
Automatické škálování jednotek zasílání zpráv můžete nakonfigurovat pomocí podmínek. Tato podmínka škálování se spustí, když se neshoduje žádná z ostatních podmínek škálování. Nastavte výchozí podmínku jedním z následujících způsobů:
- Škálování na základě metriky, jako je využití procesoru nebo paměti
- Škálování na určitý počet jednotek zasílání zpráv
Pro výchozí podmínku nemůžete nastavit plán automatického škálování na konkrétní dny nebo rozsahy kalendářních dat. Tato podmínka škálování se spustí, když se neshoduje žádná z dalších podmínek škálování s plány.
Důležité
Při nastavování automatického škálování jsou klíčové prostředky paměti i procesoru. Vytvořte pravidla pro škálování nahoru a dolů pro oba procesy.
Poznámka:
Aby se zlepšila propustnost příjmu, Service Bus uchovává některé zprávy v mezipaměti. Service Bus ořízne mezipaměť pouze tehdy, když využití paměti překročí určitou vysokou prahovou hodnotu, například 80 %. Pokud entita odesílá zprávy, ale neobdrží je, budou se zprávy uložené v mezipaměti odrážet při zvýšeném využití paměti. "Za normálních okolností to není problém, protože Service Bus v případě potřeby ořízne mezipaměť, což nakonec způsobí snížení využití paměti." Vzhledem k tomu, že využití paměti se může rychle zvýšit, vertikálně navyšte kapacitu na 60% využití paměti, abyste zabránili přerušení zpracování zpráv.
Škálovat podle metriky
Následující postup ukazuje, jak přidat podmínku pro automatické zvýšení počtu jednotek zasílání zpráv (horizontální navýšení kapacity), pokud je využití procesoru větší než 75 % a snížit počet jednotek zasílání zpráv (škálování), pokud je využití procesoru menší než 25 %. Přírůstky se provádějí od 1 do 2, 2 až 4, 4 až 8 a 8 až 16. Podobně se dekrementy provádějí od 16 do 8, 8 až 4, 4 až 2 a 2 až 1.
V nastavení automatického škálování vyberte možnost Vlastní automatické škálování pro možnost Zvolit, jak škálovat prostředek .
V části Výchozí stránky zadejte název výchozí podmínky. Pokud chcete upravit text, vyberte ikonu tužky.
Vyberte Škálovat na základě metriky pro režim škálování.
Vyberte + Přidat pravidlo.
V pravidle škálování postupujte takto:
Z rozevíracího seznamu Název metriky vyberte metriku. V tomto příkladu se jedná o procesor.
Vyberte operátor a prahové hodnoty. V tomto příkladu jsou větší než a 75 pro prahovou hodnotu metriky, aby se aktivovala akce škálování.
V části Akce vyberte operaci. V tomto příkladu je nastavená na Zvýšit.
Pak vyberte Přidat.
Poznámka:
Funkce automatického škálování zvyšuje jednotky zasílání zpráv pro obor názvů, pokud celkové využití procesoru v tomto příkladu překročí 75 %. Přírůstky se provádějí od 1 do 2, 2 až 4, 4 až 8 a 8 až 16.
Znovu vyberte + Přidat pravidlo a postupujte podle těchto kroků v pravidle škálování:
Z rozevíracího seznamu Název metriky vyberte metriku. V tomto příkladu se jedná o procesor.
Vyberte operátor a prahové hodnoty. V tomto příkladu jsou menší než a 25 pro prahovou hodnotu metriky, aby se aktivovala akce škálování.
V části Akce vyberte operaci. V tomto příkladu je nastavená na Snížit.
Pak vyberte Přidat.
Poznámka:
Funkce automatického škálování snižuje jednotky zasílání zpráv pro obor názvů, pokud celkové využití procesoru v tomto příkladu klesne pod 25 %. Dekrementy se provádějí od 16 do 8, 8 až 4, 4 až 2 a 2 až 1.
Nastavte minimální, maximální a výchozí počet jednotek zasílání zpráv.
Výběrem možnosti Uložit na panelu nástrojů uložte nastavení automatického škálování.
Škálování na určitý počet jednotek zasílání zpráv
Podle těchto kroků nakonfigurujte pravidlo pro rozšíření oboru názvů pro použití určitého počtu jednotek zasílání zpráv. Výchozí podmínka platí, když se neshoduje žádná z ostatních podmínek škálování.
V nastavení automatického škálování vyberte možnost Vlastní automatické škálování pro možnost Zvolit, jak škálovat prostředek .
V části Výchozí stránky zadejte název výchozí podmínky.
V režimu škálování vyberte Možnost Škálovat na konkrétní jednotkyzasílání zpráv.
U jednotek zasílání zpráv vyberte počet výchozích jednotek zasílání zpráv.
Vlastní automatické škálování – další podmínky
Předchozí část ukazuje, jak přidat výchozí podmínku pro nastavení automatického škálování. Tato část ukazuje, jak do nastavení automatického škálování přidat další podmínky. U těchto dalších podmínek, které nejsou výchozí, můžete nastavit plán na základě konkrétních dnů v týdnu nebo rozsahu kalendářních dat.
Škálovat podle metriky
V nastavení automatického škálování vyberte možnost Vlastní automatické škálování pro možnost Zvolit, jak škálovat prostředek .
Vyberte Přidat podmínku škálování v rámci výchozího bloku.
Zadejte název podmínky.
Ověřte, že je vybraná možnost Škálování na základě metriky .
Vyberte + Přidat pravidlo pro zvýšení jednotek zasílání zpráv, když celkové využití procesoru překročí 75 %. Postupujte podle kroků z části výchozí podmínka.
Nastavte minimální, maximální a výchozí počet jednotek zasílání zpráv.
Nastavte plán pro vlastní podmínku (ale ne pro výchozí podmínku). Můžete zadat počáteční a koncové datum podmínky nebo vybrat konkrétní dny (pondělí, úterý atd.) týdne.
Pokud vyberete Zadat počáteční a koncové datum, vyberte časové pásmo, počáteční datum a čas a koncové datum a čas (jak je znázorněno na následujícím obrázku), aby se podmínka projevila.
Pokud vyberete Možnost Opakovat konkrétní dny, vyberte dny v týdnu, časové pásmo, čas zahájení a koncový čas, kdy se má podmínka použít.
Škálování na určitý počet jednotek zasílání zpráv
V nastavení automatického škálování vyberte možnost Vlastní automatické škálování pro možnost Zvolit, jak škálovat prostředek .
Vyberte Přidat podmínku škálování v rámci výchozího bloku.
Zadejte název podmínky.
Vyberte pro režim škálovánímožnost škálování na konkrétní jednotky zasílání zpráv.
V rozevíracím seznamu vyberte počet jednotek zasílání zpráv.
Pro plán zadejte buď počáteční a koncové datum podmínky, nebo vyberte konkrétní dny (pondělí, úterý atd.) týdne a časů.
- Pokud vyberete Zadat počáteční a koncové datum, vyberte časové pásmo, počáteční datum a čas a koncové datum a čas , aby byla podmínka platná.
- Pokud vyberete Možnost Opakovat konkrétní dny, vyberte dny v týdnu, časové pásmo, čas zahájení a koncový čas, kdy se má podmínka použít.
Další informace o tom, jak nastavení automatického škálování funguje, zejména jak vybírá profil nebo podmínku a vyhodnocuje více pravidel, najdete v tématu Vysvětlení nastavení automatického škálování.
Poznámka:
- Metriky, které zkontrolujete za účelem rozhodování o automatickém škálování, můžou být 5 až 10 minut staré. Když máte co do činění s nepravidelnými pracovními zátěžemi, používejte kratší dobu pro navýšení kapacity a delší dobu pro snížení kapacity. Protože Premium poplatky Service Bus jsou účtovány za hodinu, rychlé škálování dolů nesnižuje náklady za tuto hodinu. Místo toho udržujte období ochlazení pro snížení kapacity na více než 30 minut, aby se zajistilo, že snížené zatížení je stabilní před snížením kapacity. Tato podmínka zajišťuje, že je k dispozici dostatek komunikačních jednotek pro zpracování nevyrovnaných úloh a zabraňuje předčasnému snížení úrovně, které by mohlo způsobit omezení.
Při vertikálním snížení kapacity nastavte prahovou hodnotu na méně než polovinu prahové hodnoty vertikálního navýšení kapacity. Pokud je například prahová hodnota vertikálního navýšení kapacity 80%, nastavte prahovou hodnotu vertikálního snížení kapacity na 30–35% (něco pod 40%), aby se zabránilo průběžnému vertikálnímu navýšení a snížení kapacity. Toto nastavení zabraňuje neustálému přepínání mezi zvětšováním a zmenšováním automatického škálování.
- Pokud dojde k selhání kvůli nedostatku kapacity (nejsou k dispozici žádné jednotky zasílání zpráv), vytvořte lístek podpory. Plnění kapacity podléhá omezením prostředí a provádí se s maximálním úsilím.
Historie běhů
Přepněte na kartu Historie spuštění na stránce Měřítko a zobrazí se graf, který zobrazuje počet jednotek zasílání zpráv, jak je zaznamenáváno automatizačním motorem škálování. Pokud je graf prázdný, znamená to, že automatické škálování není nakonfigurované, je nakonfigurované, ale zakázané, nebo je v období ochlazování.
Oznámení
Přepněte na záložku Upozornění na stránce Škálování:
Povolte odesílání e-mailů s oznámeními správcům, spolusprávníkům a dalším správcům.
Umožněte odesílání e-mailů s oznámeními k HTTP nebo HTTPS koncovým bodům vystaveným webhooky.
Konfigurace pomocí šablony Resource Manager
Můžete použít následující ukázkovou šablonu nástroje Resource Manager ke vytvoření oboru názvů Service Bus s frontou a ke konfiguraci nastavení automatického škálování pro tento obor názvů. V tomto příkladu jsou zadány dvě podmínky škálování.
- Výchozí podmínka škálování: Zvýšení jednotek zasílání zpráv, když průměrné využití procesoru překročí 75 % a sníží jednotky zasílání zpráv, když průměrné využití procesoru klesne pod 25 %.
- Přiřaďte ke jmennému prostoru o víkendech dvě jednotky zasílání zpráv.
Šablona
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "String",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "String",
"metadata": {
"description": "Name of the Queue"
}
},
"autoScaleSettingName": {
"type": "String",
"metadata": {
"description": "Name of the auto scale setting."
}
},
"location": {
"defaultValue": "[resourceGroup().location]",
"type": "String",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2021-11-01",
"name": "[parameters('serviceBusNamespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Premium"
},
"properties": {}
},
{
"type": "Microsoft.ServiceBus/namespaces/queues",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}', parameters('serviceBusNamespaceName'), parameters('serviceBusQueueName'))]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"lockDuration": "PT5M",
"maxSizeInMegabytes": 1024,
"requiresDuplicateDetection": false,
"requiresSession": false,
"defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
"deadLetteringOnMessageExpiration": false,
"duplicateDetectionHistoryTimeWindow": "PT10M",
"maxDeliveryCount": 10,
"autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
"enablePartitioning": false,
"enableExpress": false
}
},
{
"type": "Microsoft.Insights/autoscaleSettings",
"apiVersion": "2021-05-01-preview",
"name": "[parameters('autoScaleSettingName')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"tags": {},
"properties": {
"name": "[parameters('autoScaleSettingName')]",
"enabled": true,
"predictiveAutoscalePolicy": {
"scaleMode": "Disabled",
"scaleLookAheadTime": null
},
"targetResourceUri": "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]",
"profiles": [{
"name": "Increase messaging units to 2 on weekends",
"capacity": {
"minimum": "2",
"maximum": "2",
"default": "2"
},
"rules": [],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "Eastern Standard Time",
"days": [
"Saturday",
"Sunday"
],
"hours": [
6
],
"minutes": [
0
]
}
}
},
{
"name": "{\"name\":\"Scale Out at 75% CPU and Scale In at 25% CPU\",\"for\":\"Increase messaging units to 4 on weekends\"}",
"capacity": {
"minimum": "1",
"maximum": "8",
"default": "2"
},
"rules": [{
"scaleAction": {
"direction": "Increase",
"type": "ServiceAllowedNextValue",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "NamespaceCpuUsage",
"metricNamespace": "microsoft.servicebus/namespaces",
"metricResourceUri": "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]",
"operator": "GreaterThan",
"statistic": "Average",
"threshold": 75,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": false
}
},
{
"scaleAction": {
"direction": "Decrease",
"type": "ServiceAllowedNextValue",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "NamespaceCpuUsage",
"metricNamespace": "microsoft.servicebus/namespaces",
"metricResourceUri": "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]",
"operator": "LessThan",
"statistic": "Average",
"threshold": 25,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": false
}
}
],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "Eastern Standard Time",
"days": [
"Saturday",
"Sunday"
],
"hours": [
18
],
"minutes": [
0
]
}
}
}
],
"notifications": [],
"targetResourceLocation": "East US"
}
}
]
}
Můžete také vygenerovat příklad JSON pro prostředek nastavení automatického škálování z portálu Azure. Po nakonfigurování nastavení automatického škálování na portálu Azure vyberte JSON na panelu příkazů na stránce Scale.
Potom zahrňte JSON do oddílu resources šablony Resource Manager, jak je znázorněno v předchozím příkladu.
Další důležité informace
Pokud použijete možnost Vlastní automatické škálování s výchozí podmínkou nebo profilem, počet jednotek zasílání zpráv se postupně zvýší (1, 2, 4, 8, 16) nebo se sníží (16, 8, 4, 2, 1).
Při vytváření dalších podmínek se počet jednotek zasílání zpráv nemusí postupně zvětšovat ani snižovat. Předpokládejme, že definujete dva profily, jak je znázorněno v následujícím příkladu. V 06:00 UTC je počet jednotek zasílání zpráv nastaven na 16 a v 21:00 UTC se číslo zmenší na 1.
{
"Profiles": [
{
"Name": "standardProfile",
"Capacity": {
"Minimum": "16",
"Maximum": "16",
"Default": "16"
},
"Rules": [],
"Recurrence": {
"Frequency": "Week",
"Schedule": {
"TimeZone": "UTC",
"Days": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"
],
"Hours": [6],
"Minutes": [0]
}
}
},
{
"Name": "outOfHoursProfile",
"Capacity": {
"Minimum": "1",
"Maximum": "1",
"Default": "1"
},
"Rules": [],
"Recurrence": {
"Frequency": "Week",
"Schedule": {
"TimeZone": "UTC",
"Days": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"Hours": [21],
"Minutes": [0]
}
}
}
]
}
Vytvořte pravidla, která postupně zvyšují nebo snižují počet jednotek zasílání zpráv.
Další kroky
Další informace o jednotkách zasílání zpráv najdete v tématu Zasílání zpráv úrovně Premium.