Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Aplikacje usługi Azure App Service można skalować, skalując plan usługi App Service , na którym działają. Domyślnie właściwość perSiteScaling na poziomie planu ma wartość false, a każda aplikacja i każde gniazdo wdrożeniowe używa wszystkich dostępnych instancji w planie.
Gdy perSiteScaling jest true, każda aplikacja i slot wdrożenia mogą mieć swój własny siteConfig.numberOfWorkers limit. Na przykład plan może mieć skonfigurowaną pojemność 10 pracowników, podczas gdy aplikacja ma skonfigurowany limit pięciu pracowników. Każdy slot wdrożenia ma swój limit; konfiguracja aplikacji produkcyjnej nie konfiguruje jednocześnie jej slotów.
Uwaga / Notatka
- Skalowanie dla aplikacji jest dostępne tylko dla poziomów cenowych Standardowy, Premium, Premium V2, Premium V3 i Izolowany.
- Limit na aplikację nie zmniejsza dedykowanej pojemności skonfigurowanej dla planu App Service ani jego rozliczeń samodzielnie.
Zachowaj te wartości odrębne:
-
Pojemność planu skonfigurowanego: wartość planu
sku.capacity. -
Limit skonfigurowanych aplikacji lub slotów: Wartość zasobu
siteConfig.numberOfWorkers. - Zaobserwowane aktywne instancje aplikacji: Obserwacja w czasie rzeczywistym. Rzeczywista liczba nie może przekroczyć dostępnych pracowników planu. Skalowanie planu może zmniejszyć tę liczbę poniżej skonfigurowanego limitu aplikacji lub slotów.
Platforma umieszcza aplikację na wybranych dostępnych pracownikach planu, stosując podejście oparte na najlepszym wysiłku. Umiejscowienie jest niezależne od metryki.
| Scenario | Semantyka wartości |
|---|---|
Granica 1 |
Aplikacja lub slot może korzystać z maksymalnie jednego dostępnego pracownika planu. Wybierz tę wartość tylko wtedy, gdy pojedynczy pracownik jest akceptowalny dla obciążenia pracą. |
Limit większy niż 1 |
Wartość ta ogranicza, ile różnych pracowników planu może używać aplikacja lub automat. Faktycznie aktywnych instancji może być mniej. |
| Limit powyżej dostępnej pojemności planu | Dostępne procesy robocze planu ograniczają rzeczywistą liczbę wystąpień aplikacji lub gniazd. |
| Skalowanie planu | Aplikacja lub slot może działać na mniejszej liczbie pracowników niż jej skonfigurowany limit po usunięciu pracowników planu. |
Skalowanie na aplikację to stałe, niezależne od metryki umieszczenie wśród dostępnych pracowników planu. Nie reaguje na zapotrzebowanie ani nie zmienia pojemności planów. Aby zmieniać pojemność w zależności od zapotrzebowania, użyj automatycznego skalowania lub Azure Monitor do automatycznego skalowania.
Ważne
Redundancja strefowa rozmieszcza instancje planu usługi App Service; nie tworzy ukrytych replik aplikacji. W przypadku skalowania na poziomie aplikacji limit aplikacji lub slotu wynoszący 1 umożliwia umieszczenie w co najwyżej jednej instancji planu i nie może być traktowany jako jednoczesna replika między strefami. Ograniczenia 2 lub więcej pozwoleń na umieszczenie wielu pracowników różnych planów, ale nie gwarantują publicznie, że te instancje aplikacji obejmują fizyczne strefy. W celu wskazówek dotyczących projektowania niezawodności zobacz Niezawodność w App Service.
Model nieruchomości i wymagania wstępne
Użyj obsługiwanego planu cenowego, konta z uprawnieniami do aktualizowania planu, aplikacji i miejsca wdrożenia oraz bieżącej wersji wybranego narzędzia. Przykłady używają Azure CLI 2.89.1 oraz Az PowerShell 16.2.0.
| Scope | Właściwość zasobu | Przykład |
|---|---|---|
| Funkcja planu | properties.perSiteScaling |
true |
| Planowanie pojemności | sku.capacity |
10 |
| Limit żądanych przez aplikację | properties.siteConfig.numberOfWorkers |
5 |
| Limit pożądanych slotów | properties.siteConfig.numberOfWorkers |
2 |
| Odpowiedź na żądanie GET dotyczące konfiguracji aplikacji lub slotu | properties.numberOfWorkers |
5 lub 2 |
W Azure CLI podobnie nazwane opcje mają różne zakresy: az appservice plan ... --number-of-workers ustawia pojemność planu, a jednocześnie az webapp config set ... --number-of-workers limit aplikacji lub slotów.
Konfiguruj skalowanie dla aplikacji
Użyj zakładki jako ulubionego narzędzia. Zamień nazwy zastępcze i lokalizacje przed uruchomieniem polecenia lub wdrożeniem szablonu.
Wybierz krok tworzenia lub aktualizacji planu. Krok aktualizacji zmienia tylko perSiteScaling; nie zmienia istniejącej pojemności planu.
resourceGroup='<resource-group-name>'
planName='<app-service-plan-name>'
appName='<app-name>'
slotName='staging'
location='westus3'
# Create a plan with capacity 10 and per-app scaling.
az appservice plan create \
--resource-group $resourceGroup \
--name $planName \
--location $location \
--sku P1V3 \
--number-of-workers 10 \
--per-site-scaling
# Or enable per-app scaling on an existing plan without changing its capacity.
az appservice plan update \
--resource-group $resourceGroup \
--name $planName \
--set properties.perSiteScaling=true
# Configure the production app and its staging slot independently.
az webapp config set \
--resource-group $resourceGroup \
--name $appName \
--number-of-workers 5
az webapp config set \
--resource-group $resourceGroup \
--name $appName \
--slot $slotName \
--number-of-workers 2
Tutaj planem --number-of-workers 10 jest pojemność. Opcja konfiguracji aplikacji webowej o tej samej nazwie to żądany limit aplikacji lub slotów. Sprawdź skonfigurowane wartości:
az appservice plan show \
--resource-group $resourceGroup \
--name $planName \
--query "{planCapacity:sku.capacity, perSiteScaling:perSiteScaling}"
az webapp config show \
--resource-group $resourceGroup \
--name $appName \
--query "{appWorkerLimit:numberOfWorkers}"
az webapp config show \
--resource-group $resourceGroup \
--name $appName \
--slot $slotName \
--query "{slotWorkerLimit:numberOfWorkers}"
Szczegóły poleceń znajdziesz w az appservice plan oraz az webapp config.
Sprawdzanie konfiguracji
Sprawdź każdą skonfigurowaną wartość po zmianie lub wdrożeniu.
| Value | Oczekiwany przykład | Gdzie to zweryfikować |
|---|---|---|
| Funkcja planu | true |
Reakcja na plan properties.perSiteScaling |
| Planowanie pojemności | 10 |
Reakcja na plan sku.capacity |
| Żądany limit aplikacji produkcyjnej | 5 |
Reakcja produkcyjna config/webproperties.numberOfWorkers |
| Żądany limit slotów wdrożeniowych | 2 |
Odpowiedź slotu config/webproperties.numberOfWorkers |
Te wartości to konfiguracja, a nie obserwowane liczby aktywnych instancji. Umieszczanie w czasie wykonywania pozostaje najlepszym wysiłkiem i jest ograniczone dostępnymi pracownikami planu. Przed połączeniem skalowania dla poszczególnych aplikacji z redundancją strefową zapoznaj się z pojemnością planu oraz limitami każdej aplikacji lub miejsca wdrożenia w Ustaw redundancję strefową dla istniejącego planu usługi App Service.
Konfiguruj hosting o wysokiej gęstości dla swojego scenariusza
Skalowanie pojedynczej aplikacji jest dostępne zarówno w globalnych regionach Azure, jak i w środowiskach App Service. Wybierz limity aplikacji i slotów zgodnie z wymaganiami dotyczącymi obciążenia i niezawodności, zamiast stosować jeden limit dla każdego obciążenia.
W przypadku hostingu o dużej gęstości:
Wyznacz plan usługi App Service planem o wysokiej gęstości i skaluj go do poziomu żądanej pojemności.
Ustaw flagę
PerSiteScalingna true w planie usługi App Service.Ustaw limit każdej aplikacji i slotu
numberOfWorkerswdrożenia w zależności od jej potrzeb.- Limit zapewnia
1największą gęstość, ale stosuj go tylko w zadaniach, gdzie przydzielenie maksymalnie jednego pracownika planu jest akceptowalne. - Stosuj limit lub
2wyższy, gdy obciążenie powinno być przydzielone do kilku różnych pracowników planu, pod warunkiem dostępnej pojemności planu.
- Limit zapewnia
Samodzielnie weryfikuj limity w miarę zmiany wymagań dotyczących obciążenia. Na przykład aplikacja intensywniej używana może stosować limit
3, aby uzyskać większą moc przetwarzania, podczas gdy inna aplikacja może korzystać z1, gdy odpowiednie jest wdrożenie z pojedynczym procesem roboczym.
Treści powiązane
- Co to są plany usługi Azure App Service?
- Konfiguruj automatyczne skalowanie
- Konfiguruj redundancję strefową
- Niezawodność w usłudze App Service
- Omówienie środowiska App Service Environment
- Samouczek: uruchamianie testu obciążeniowego w celu zidentyfikowania wąskich gardeł wydajności w aplikacji internetowej