Automatická aktualizace jednotek zasílání zpráv v oboru názvů služby Azure Service Bus
Automatické škálování umožňuje mít správné množství spuštěných prostředků pro zvládnutí zatížení vaší aplikace. Umožňuje přidávat prostředky pro zpracování nárůstu zatížení a také ušetřit peníze odebráním prostředků, které jsou nečinné. Další informace o funkci automatického škálování služby Azure Monitor najdete v přehledu automatického škálování v Microsoft Azure .
Zasílání zpráv Service Bus Premium zajišťuje izolaci prostředků na úrovni CPU a paměti, takže každá úloha zákazníka běží 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 Zasílání zpráv Service Bus Premium.
Pomocí funkce automatického škálování pro obory názvů Premium služby Service Bus můžete zadat minimální a maximální počet jednotek zasílání zpráv 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 obory názvů služby Service Bus.
- Zvýšení jednotek zasílání zpráv pro obor názvů služby Service Bus v případě, že využití procesoru oboru názvů překročí 75 %.
- Snížení jednotek zasílání zpráv pro obor názvů služby Service Bus v případě, že využití procesoru 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 můžete automaticky škálovat obor názvů služby Service Bus (aktualizační jednotky zasílání zpráv) pomocí webu Azure Portal a šablony Azure Resource Manageru.
Důležité
Tento článek se týká pouze úrovně Premium služby Azure Service Bus.
Konfigurace prostřednictvím portálu Azure Portal
V této části se dozvíte, jak pomocí webu Azure Portal nakonfigurovat automatické škálování jednotek zasílání zpráv pro obor názvů služby Service Bus.
Stránka nastavení automatického škálování
Nejprve pomocí následujícího postupu přejděte na stránku nastavení automatického škálování vašeho oboru názvů služby Service Bus.
Přihlaste se k portálu Azure.
Na panelu hledání zadejte Service Bus, v rozevíracím seznamu vyberte Service Bus a stiskněte ENTER.
V seznamu oborů názvů vyberte obor názvů Premium.
Přepněte na stránku Měřítko .
Ruční škálování
Toto nastavení umožňuje nastavit pevný počet 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í jednotek zasílání zpráv vyberte v rozevíracím 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í. Výchozí podmínku můžete nastavit jedním z následujících způsobů:
- Škálování na základě metriky (například 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 rozsah 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.
Poznámka:
Kvůli zlepšení propustnosti příjmu uchovává Service Bus některé zprávy v mezipaměti. Service Bus oříznou mezipaměť pouze v případech, kdy využití paměti překročí určitou vysokou prahovou hodnotu, například 80 %. Takže pokud entita odesílá zprávy, ale nepřijímá je, jsou tyto zprávy uloženy do mezipaměti a odráží se ve zvýšeném využití paměti. Obvykle to znamená, že se nic neřeší, protože Service Bus v případě potřeby oříznou mezipaměť, což nakonec způsobí, že využití paměti se zpomalí. Proto se doporučuje vertikálně navýšit kapacitu pouze v případě, že využití paměti dosáhne 90 %. Navíc se nedoporučuje vertikálně snížit kapacitu, pokud využití paměti nepřejde pod 90 %.
Š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.
Na stránce 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ánka 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.
Na stránce Pravidla škálování postupujte takto:
V rozevíracím 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ů na stránce Pravidla škálování :
V rozevíracím 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í a 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 škálování oboru názvů tak, aby používalo určitý počet jednotek zasílání zpráv. Opět platí, že výchozí podmínka se použije, když se neshoduje žádná z ostatních podmínek škálování.
Na stránce 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ánka zadejte název výchozí podmínky.
V režimu škálování vyberte Možnost Škálovat na konkrétní jednotky zasí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
V předchozí části se dozvíte, jak přidat výchozí podmínku pro nastavení automatického škálování. V této části se dozvíte, 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
Na stránce nastavení automatického škálování vyberte možnost Vlastní automatické škálování pro možnost Zvolit, jak škálovat prostředek.
V rámci výchozího bloku vyberte Přidat podmínku škálování.
Zadejte název podmínky.
Ověřte, že je vybraná možnost Škálování na základě metriky .
Vyberte + Přidat pravidlo pro přidání pravidla pro zvýšení jednotek zasílání zpráv, když celkové využití procesoru překročí 75 %. Postupujte podle kroků z výchozí části podmínky .
Nastavte minimální a maximální a výchozí počet jednotek zasílání zpráv.
Můžete také nastavit 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) pro podmínku, která má platit.
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
Na stránce nastavení automatického škálování vyberte možnost Vlastní automatické škálování pro možnost Zvolit, jak škálovat prostředek.
V rámci výchozího bloku vyberte Přidat podmínku škálování.
Zadejte název podmínky.
Pro režim škálování vyberte 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 počáteční a koncové datum podmínky (nebo) vyberte konkrétní dny (pondělí, úterý atd.) týdne a času.
- 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é. Při práci s rychlými úlohami doporučujeme, abyste měli kratší dobu vertikálního navýšení kapacity a delší dobu vertikálního snížení kapacity (> 10 minut), abyste zajistili, že existuje dostatek jednotek pro zpracování rychlých úloh.
Pokud dojde k selháním kvůli nedostatku kapacity (nejsou k dispozici žádné jednotky zasílání zpráv), vytvořte u nás lístek podpory. Plnění kapacity podléhá omezením prostředí a provádí se s naším úsilím.
Historie běhů
Přepněte na kartu Historie spuštění na stránce Měřítko a zobrazte graf, který zobrazuje počet jednotek zasílání zpráv, jak sleduje modul automatického škálování. Pokud je graf prázdný, znamená to, že automatické škálování nebylo nakonfigurované nebo nakonfigurované, ale zakázané nebo je ve studeném období.
Oznámení
Přepněte na kartu Upozornění na stránce Měřítko na:
Povolte odesílání e-mailů s oznámeními správcům, spolusprávníkům a dalším správcům.
Povolte odesílání e-mailů s oznámeními do koncových bodů HTTP nebo HTTPS vystavených webhooky.
Konfigurace pomocí šablony Resource Manageru
Pomocí následující ukázkové šablony Resource Manageru můžete vytvořit obor názvů služby Service Bus s frontou a nakonfigurovat nastavení automatického škálování pro 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 k oboru názvů 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 webu Azure Portal. Po nakonfigurování nastavení automatického škálování na webu Azure Portal na panelu příkazů na stránce Škálování vyberte JSON.
Potom do části šablony Resource Manageru zahrňte JSON resources
, jak je znázorněno v předchozím příkladu.
Další důležité informace
Při použití možnosti Vlastní automatické škálování s výchozí podmínkou nebo profilem se jednotky zasílání zpráv zvýší (1 –> 2 – 4 –>> 8 –> 16) nebo se postupně sníží (16 –> 8 –> 4 –> 2 –> 1).
Při vytváření dalších podmínek nemusí být jednotky zasílání zpráv postupně zvýšeny nebo sníženy. Předpokládejme, že máte definované dva profily, jak je znázorněno v následujícím příkladu. V 06:00 UTC jsou jednotky zasílání zpráv nastavené na 16 a v 21:00 UTC se 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]
}
}
}
]
}
Doporučujeme vytvořit pravidla tak, aby se jednotky zasílání zpráv zvýšily nebo snižovaly postupně.
Další kroky
Další informace o jednotkách zasílání zpráv najdete v tématu Zasílání zpráv premium.