Uwaga
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
Automatyczne skalowanie jest dostępne dla wszystkich typów aplikacji: Windows i Linux (wdrażanie jako kod i kontener). Automatyczne skalowanie nie jest obsługiwane w przypadku ruchu w gnieździe wdrożeniowym.
Automatyczne skalowanie to funkcja skalowania horyzontalnego, która automatycznie podejmuje decyzje skalowania dla Twoich aplikacji internetowych i planów usługi App Service. Różni się ona od automatycznego skalowania platformy Azure, która umożliwia definiowanie reguł skalowania na podstawie harmonogramów i zasobów.
Dzięki automatycznemu skalowaniu można dostosować ustawienia skalowania, aby poprawić wydajność aplikacji i uniknąć problemów z zimnym uruchamianiem. Platforma rozgrzewa instancje, aby działały jako bufor podczas skalowania poziomego, zapewniając płynne przejścia w zakresie wydajności. Opłaty są naliczane za sekundę za każde wystąpienie, w tym wstępnie przygotowane wystąpienia.
Poniższa tabela porównuje opcje skalowania poziomego (scale-out) i skalowania pionowego (scale-in) dostępne w usłudze App Service.
Instrukcja | Automatyczne skalowanie | Automatyczne skalowanie | |
---|---|---|---|
Dostępne warstwy cenowe | Podstawowa i w górę | Standard i wyżej | Warstwy cenowe Premium V2 (P1V2, P2V2 i P3V2). Warstwy cenowe Premium V3 (P0V3, P1V3, P2V3, P3V3, P1MV3, P2MV3, P3MV3, P4MV3 i P5MV3). |
Skalowanie oparte na regułach | Nie. | Tak | Nie, platforma zarządza skalowaniem poziomym i pionowym na podstawie ruchu HTTP. |
Skalowanie oparte na harmonogramie | Nie. | Tak | Nie. |
Zawsze gotowe wystąpienia | Nie, Twoja aplikacja internetowa działa na określonej liczbie ręcznie skalowanych instancji. | Nie, aplikacja internetowa działa na innych wystąpieniach dostępnych podczas operacji skalowania w poziomie na podstawie progu zdefiniowanego dla reguł autoskalowania. | Tak (minimum 1) |
Instancje wcześniej uruchomione | Nie. | Nie. | Tak (wartość domyślna 1) |
Maksimum dla każdej aplikacji | Nie. | Nie. | Tak |
Jak działa automatyczne skalowanie
Włączasz automatyczne skalowanie dla planu App Service i konfigurujesz zakres wystąpień dla każdej z aplikacji webowych. Gdy aplikacja internetowa zacznie odbierać ruch HTTP, usługa App Service monitoruje obciążenie i dodaje wystąpienia. Zasoby mogą być współużytkowane, gdy wiele aplikacji internetowych w ramach planu usługi App Service musi być jednocześnie skalowanych w poziomie.
Oto kilka scenariuszy, w których należy automatycznie zwiększać skalę:
- Nie chcesz konfigurować reguł autoskalowania na podstawie metryk zasobów.
- Chcesz, aby aplikacje internetowe w ramach tego samego planu usługi App Service skalowały się inaczej i niezależnie od siebie.
- Aplikacja internetowa jest połączona z bazą danych lub starszym systemem, który może nie być skalowany tak szybko, jak aplikacja internetowa. Skalowanie automatycznie umożliwia ustawienie maksymalnej liczby wystąpień, na które można skalować plan usługi App Service. To ustawienie pomaga aplikacji internetowej nie przeciążać zaplecza.
Włączanie automatycznego skalowania
Ustawienie Maksymalny wzrost chwilowy reprezentuje największą liczbę instancji, do której plan usługi App Service może zwiększyć w odpowiedzi na przychodzące żądania HTTP. W przypadku planów Premium v2 i v3 można określić maksymalnie 30 wystąpień. Maksymalna liczba wybuchów musi być równa lub większa niż liczba pracowników określonych dla planu usługi App Service.
Aby włączyć automatyczne skalowanie, przejdź do menu po lewej stronie aplikacji internetowej. W obszarze Ustawienia wybierz pozycję Skalowanie w poziomie (plan usługi App Service). Wybierz Automatyczne, zaktualizuj wartość Maksymalny rozbłysk, i wybierz przycisk Zapisz.
Ustawianie minimalnej liczby wystąpień aplikacji internetowej
Ustawienie na poziomie aplikacji Zawsze gotowe wystąpienia określa minimalną liczbę wystąpień. Jeśli obciążenie przekroczy minimalną liczbę ustawioną w zawsze gotowych wystąpieniach, zostaną dodane dodatkowe wystąpienia, aż do określonej wartości maksymalnego przyrostu dla planu App Service.
Aby ustawić minimalną liczbę wystąpień aplikacji internetowej, przejdź do menu po lewej stronie aplikacji internetowej i wybierz Skalowanie (plan App Service). Zaktualizuj wartość Zawsze gotowe wystąpienia i wybierz przycisk Zapisz .
Ustawianie maksymalnej liczby wystąpień aplikacji internetowej
Maksymalna wartość limitu skalowania ustawia maksymalną liczbę wystąpień, do których aplikacja internetowa może być skalowana. Maksymalny limit skalowania jest przydatny, gdy składnik podrzędny, taki jak baza danych, ma ograniczoną przepływność. Maksymalna wartość dla aplikacji może należeć do zakresu od 1 do maksymalnej wartości serii.
Aby ustawić maksymalną liczbę wystąpień aplikacji internetowej, przejdź do menu po lewej stronie aplikacji internetowej i wybierz pozycję Skaluj w poziomie (plan usługi App Service). Wybierz opcję Wymuś limit skalowania, zaktualizuj maksymalny limit skalowania, a następnie naciśnij przycisk Zapisz.
Aktualizacja wstępnie uruchomionych wystąpień
Ustawienie wstępnie podgrzanej instancji zapewnia rozgrzane instancje jako bufor podczas skalowania i zdarzeń aktywacji HTTP. Prewarmed instancje będą buforować dane aż do osiągnięcia maksymalnego limitu skalowania. Domyślna liczba wstępnie utworzonych wystąpień to 1, a w większości scenariuszy ta wartość powinna pozostawać jako 1.
Nie można zmienić ustawienia wystąpienia przygotowanego w portalu. Zamiast tego należy użyć interfejsu wiersza polecenia platformy Azure.
Wyłączanie automatycznego skalowania
Aby wyłączyć automatyczne skalowanie, przejdź do menu po lewej stronie aplikacji internetowej i wybierz pozycję Rozszerzenie poziome (plan usługi App Service). Wybierz pozycję Ręczne i wybierz przycisk Zapisz .
Często zadawane pytania
Czy automatyczne skalowanie obsługuje aplikacje usługi Azure Functions?
Nie, możesz mieć tylko aplikacje internetowe usługi Azure App Service w planie usługi App Service, w którym chcesz włączyć automatyczne skalowanie. W przypadku aplikacji usługi Azure Functions zalecamy zamiast tego użycie planu Usługi Azure Functions w wersji Premium .
Uwaga
Automatyczne skalowanie jest wyłączone, gdy aplikacje internetowe usługi App Service i aplikacje usługi Azure Functions znajdują się w tym samym planie usługi App Service.
Jak automatyczne skalowanie działa w tle?
Aplikacje skonfigurowane do automatycznego skalowania są stale monitorowane, a oceny stanu pracowników są przeprowadzane co najmniej raz na każdą kilka sekund. Jeśli system wykryje zwiększone obciążenie aplikacji, kontrole kondycji stają się częstsze. Jeśli zdrowie pracowników się pogarsza i żądania zwalniają, wymagane są inne środki. Szybkość dodawania wystąpień zależy od wzorca obciążenia i czasu uruchamiania poszczególnych aplikacji. Aplikacje z krótkim czasem uruchamiania i sporadycznymi wzrostami obciążenia mogą widzieć jedną maszynę wirtualną dodaną co kilka sekund do minuty.
Po ustąpieniu obciążenia platforma inicjuje przegląd potencjalnego skalowania. Ten proces zwykle rozpoczyna się około 5–10 minut po zatrzymaniu wzrostu obciążenia. Podczas skalowania w dół, wystąpienia są usuwane z maksymalną szybkością jedno co kilka sekund do minuty.
Jeśli wiele aplikacji internetowych jest wdrażanych w ramach tego samego planu App Service, platforma próbuje przydzielić zasoby w dostępnych instancjach. Ta alokacja jest oparta na obciążeniu poszczególnych aplikacji internetowych.
Jak są naliczane opłaty za wstępnie uruchomione instancje?
Aby zrozumieć, jak są naliczane opłaty za wystąpienia przedwzroczone, rozważmy ten scenariusz: Załóżmy, że aplikacja internetowa ma pięć wystąpień, które są zawsze gotowe, wraz z jednym wstępnie ustawionym wystąpieniem jako domyślnym.
Gdy aplikacja internetowa jest bezczynna i nie odbiera żadnych żądań HTTP, jest uruchamiana z pięcioma zawsze gotowymi wystąpieniami. W tym czasie nie są naliczane opłaty za instancje przedwarmowane, ponieważ instancje zawsze dostępne nie są używane, a tym samym nie są przydzielane żadne przedwarmowane instancje.
Jednak jak tylko Twoja aplikacja internetowa zacznie odbierać żądania HTTP i pięć zawsze gotowych wystąpień się aktywuje, zostaje przydzielone wstępnie przygotowane wystąpienie. Rozliczenie za to zaczyna się od tego momentu.
Jeśli szybkość żądań HTTP nadal wzrasta, a usługa App Service zdecyduje się skalować poza początkowe pięć wystąpień, zacznie korzystać z wstępnie uruchomionego wystąpienia. Oznacza to, że gdy istnieje sześć aktywnych wystąpień, siódme wystąpienie jest natychmiast udostępniane, aby wypełnić bufor wstępnego przygotowania.
Ten proces skalowania i przygotowania wstępnego jest kontynuowany do momentu osiągnięcia maksymalnej liczby instancji dla aplikacji. Należy pamiętać, że żadne wystąpienia nie są wstępnie uruchamiane ani aktywowane poza maksymalną liczbą wystąpień.
Dlaczego wpisy AppServiceHTTPLogs
w dzienniku są podobne do wpisów /admin/host/ping
ze statusem 404?
Automatyczne skalowanie usługi App Service okresowo sprawdza /admin/host/ping
punkt końcowy wraz z innymi mechanizmami kontroli kondycji, które są wbudowane w platformę. Czasami, ze względu na istniejące konfiguracje platformy, te pingi mogą zwracać błędy 404. Należy jednak pamiętać, że te błędy 404 nie powinny mieć wpływu na dostępność aplikacji ani wydajność skalowania.
Jeśli aplikacja internetowa zwróci status 5xx, polecenia ping punktu końcowego mogą prowadzić do sporadycznych ponownych uruchomień, chociaż ten scenariusz jest nietypowy. Upewnij się, że aplikacja internetowa nie zwraca stanu 5xx w tym punkcie końcowym. Nie można dostosować tych punktów końcowych polecenia ping.
Jak śledzić liczbę wystąpień skalowanych w poziomie podczas automatycznego skalowania zdarzenia?
AutomaticScalingInstanceCount
Metryka zgłasza liczbę maszyn wirtualnych, na których działa aplikacja, w tym instancję wstępnie zainicjowaną, jeśli została wdrożona. Ta metryka może również służyć do śledzenia maksymalnej liczby wystąpień, na które aplikacja internetowa została rozbudowana podczas automatycznego procesu skalowania. Ta metryka jest dostępna tylko dla aplikacji z włączonym automatycznym skalowaniem .
Jak koligacja ARR wpływa na automatyczne skalowanie?
Usługa Azure App Service używa plików cookie routingu żądań o nazwie koligacja ARR. Pliki cookie powiązania ARR ograniczają skalowanie, ponieważ wysyłają żądania tylko do serwerów skojarzonych z plikiem cookie, zamiast do dowolnej dostępnej instancji. W przypadku aplikacji, które przechowują stan, lepiej jest skalować w górę (przydzielić więcej zasobów na jednej instancji). W przypadku aplikacji bezstanowych skalowanie w górę (dodawanie większej liczby wystąpień) zapewnia większą elastyczność i skalowalność. Pliki cookie ARR Affinity są domyślnie włączone w usłudze App Service. W zależności od potrzeb aplikacji, można zdecydować się na wyłączenie plików cookie przyległości ARR podczas korzystania z automatycznego skalowania.
Aby wyłączyć pliki cookie koligacji ARR: wybierz aplikację usługi App Service, a następnie w obszarze Ustawienia wybierz pozycję Konfiguracja. Następnie wybierz kartę Ustawienia ogólne . W obszarze Koligacja sesji wybierz pozycję Wyłączone , a następnie wybierz przycisk Zapisz .