Delen via


Automatisch schalen in Azure App Service

Opmerking

Automatisch schalen is beschikbaar voor alle app-typen: Windows en Linux (implementeren als code en container). Automatisch schalen wordt niet ondersteund voor verkeer van implementatieslots.

Automatisch schalen is een uitschaaloptie waarmee automatisch beslissingen voor schaalaanpassing voor uw web-apps en App Service-plannen worden afgehandeld. Dit verschilt van automatische schaalaanpassing van Azure, waarmee u schaalregels kunt definiëren op basis van planningen en resources.

Met automatisch schalen kunt u de schaalinstellingen aanpassen om de prestaties van uw app te verbeteren en problemen met koude start te voorkomen. Het platform voorbewarmt exemplaren om als buffer te fungeren bij het uitschalen, waardoor soepele prestatieovergangen worden gegarandeerd. Je betaalt per seconde voor elk exemplaar, inclusief vooraf voorverwarmde exemplaren.

De volgende tabel vergelijkt de opties voor uitschalen en inschalen die beschikbaar zijn in App Service:

  Handleiding Automatisch schalen Automatisch schalen
Beschikbare prijscategorieën Basis en omhoog Standaard en hoger Premium V2 -prijscategorieën (P1V2, P2V2 en P3V2). Premium V3 (P0V3, P1V3, P2V3, P3V3, P1MV3, P2MV3, P3MV3, P4MV3 en P5MV3) prijscategorieën.
Regelgebaseerde schaling Nee. Ja Nee, het platform beheert de uitschalen en inschalen op basis van HTTP-verkeer.
Schaalaanpassing op basis van een planning Nee. Ja Nee.
Altijd gereede exemplaren Nee, uw webapplicatie draait op een aantal handmatig geschaalde instanties. Nee, uw web-app wordt uitgevoerd op andere exemplaren die beschikbaar zijn tijdens de uitschaalbewerking, op basis van de drempelwaarde die is gedefinieerd voor regels voor automatisch schalen. Ja (minimaal 1)
Vooraf opgewarmde exemplaren Nee. Nee. Ja (standaard 1)
Maximum per app Nee. Nee. Ja

Hoe automatisch schalen werkt

Je schakelt automatische schaalvergroting in voor een App Service-plan en configureert een aantal instanties voor elk van de web-apps. Zodra uw web-app HTTP-verkeer begint te ontvangen, houdt App Service de belasting in de gaten en voegt exemplaren toe. Resources kunnen worden gedeeld wanneer meerdere web-apps binnen een App Service-plan tegelijkertijd moeten opschalen.

Hier volgen enkele scenario's waarin u automatisch moet uitschalen:

  • U wilt geen regels voor automatisch schalen instellen op basis van metrische gegevens van resources.
  • U wilt dat uw web-apps binnen hetzelfde App Service-plan verschillend en onafhankelijk van elkaar worden geschaald.
  • Uw web-app is verbonden met een database of een verouderd systeem, dat mogelijk niet zo snel kan worden geschaald als de web-app. Door automatisch te schalen kunt u het maximum aantal exemplaren instellen waarnaar uw App Service-plan kan worden geschaald. Met deze instelling kan de web-app de back-end niet overbelasten.

Automatisch schalen inschakelen

De instelling Maximale burst vertegenwoordigt het maximale aantal instanties waarmee uw App Service-plan kan opschalen op basis van inkomende HTTP-aanvragen. Voor Premium v2 & v3-abonnementen kunt u maximaal 30 exemplaren opgeven. Het maximumaantal bursts moet gelijk zijn aan of groter zijn dan het aantal werkers dat is opgegeven voor het App Service-plan.

Als u automatisch schalen wilt inschakelen, gaat u naar het linkermenu van de web-app. Selecteer onder Instellingende optie Uitschalen (App Service-plan). Selecteer Automatisch, werk de waarde maximale burst bij en selecteer de knop Opslaan .

Schermopname van automatisch schalen in Azure Portal

Het minimum aantal web-app-exemplaren instellen

Met de app-niveau instelling Altijd gereed wordt het minimum aantal instanties opgegeven. Als de belasting het minimumaantal overschrijdt dat is ingesteld in Always Ready-exemplaren, worden er extra exemplaren toegevoegd, tot aan de opgegeven maximale burst-waarde voor het App Service-plan.

Als u het minimale aantal web-app-exemplaren wilt instellen, gaat u naar het linkermenu van de web-app en selecteert u Uitschalen (App Service-plan). Werk de waarde van altijd beschikbare instanties bij en selecteer de knop Opslaan.

Schermopname van altijd gereede exemplaren.

Het maximum aantal web-app-exemplaren instellen

Met de maximale schaallimietwaarde stelt u het maximum aantal instanties in waarop een web-app kan opschalen. De maximale schaallimiet is handig wanneer een downstreamonderdeel zoals een database een beperkte doorvoer heeft. Het maximum per app kan tussen 1 en de maximale burst-waarde zijn.

Als u het maximum aantal web-app-exemplaren wilt instellen, gaat u naar het linkermenu van de web-app en selecteert u Uitschalen (App Service-plan). Selecteer Uitschaallimiet afdwingen, werk de maximale schaallimiet bij en selecteer de knop Opslaan .

Schermopname van maximale schaallimiet.

Vooraf opgewarmde exemplaren bijwerken

De instelling voor vooraf verwarmde instanties biedt voorverwarmde instanties als een buffer tijdens HTTP schaal- en activeringsprocessen. Voorbewarmde exemplaren blijven bufferen totdat de maximale uitschaallimiet is bereikt. Het standaardaantal voorbewarmde exemplaren is 1 en voor de meeste scenario's moet deze waarde als 1 blijven.

U kunt de instelling voor een voorafwarmd exemplaar niet wijzigen in het portaal. U moet in plaats daarvan de Azure CLI gebruiken.

Automatisch schalen uitschakelen

Als u automatisch schalen wilt uitschakelen, gaat u naar het linkermenu van de web-app en selecteert u Uitschalen (App Service-plan). Selecteer Handmatig en selecteer de knop Opslaan .

Schermopname van handmatig schalen.

Veelgestelde vragen

Ondersteunt Azure Functions-apps automatisch schalen?

Nee, u kunt alleen Azure App Service-web-apps hebben in het App Service-plan waarin u automatisch schalen wilt inschakelen. Voor Azure Functions-apps raden we u aan in plaats daarvan het Azure Functions Premium-abonnement te gebruiken.

Waarschuwing

Automatisch schalen is uitgeschakeld wanneer App Service-web-apps en Azure Functions-apps zich in hetzelfde App Service-plan bevinden.

Hoe werkt automatisch schalen achter de schermen?

Toepassingen die zijn ingesteld op automatisch schalen, worden continu bewaakt, waarbij de statusevaluaties van werknemers ten minste eenmaal per paar seconden plaatsvinden. Als het systeem een verhoogde belasting van de toepassing detecteert, worden statuscontroles vaker uitgevoerd. Als de gezondheid van werknemers verslechtert en er vertraging optreedt bij aanvragen, worden andere instellingen aangevraagd. De snelheid waarmee exemplaren worden toegevoegd, varieert op basis van het laadpatroon en de opstarttijd van de afzonderlijke toepassing. Toepassingen met korte opstarttijden en wisselende belastingpieken kunnen binnen enkele seconden tot een minuut mogelijk een extra virtuele machine hebben.

Zodra de belasting afzakt, start het platform een beoordeling voor mogelijke inschalen. Dit proces begint doorgaans ongeveer 5-10 minuten nadat de belasting stopt. Tijdens het inschalen worden exemplaren verwijderd met een maximale snelheid van één exemplaar elke paar seconden tot een minuut.

Als er meerdere webtoepassingen binnen hetzelfde App Service-plan worden geïmplementeerd, probeert het platform resources toe te wijzen aan verschillende beschikbare exemplaren. Deze toewijzing is gebaseerd op de belasting van elke afzonderlijke webtoepassing.

Hoe word ik gefactureerd voor voorafwarmde exemplaren?

Als u wilt weten hoe u wordt gefactureerd voor voorafwarmde exemplaren, kunt u dit scenario overwegen: Stel dat uw web-app vijf exemplaren heeft die altijd gereed zijn, samen met één voorafwarmd exemplaar dat als standaard is ingesteld.

Wanneer uw web-app niet actief is en geen HTTP-aanvragen ontvangt, wordt deze uitgevoerd met de vijf altijd gereede exemplaren. Gedurende deze tijd worden er geen kosten in rekening gebracht voor een vooraf opgewarmde instantie, omdat de altijd gereed zijnde instanties niet worden gebruikt en daarom geen vooraf opgewarmde instantie wordt toegewezen.

Echter, zodra uw web-app HTTP-aanvragen ontvangt en de vijf altijd gereed zijnde instanties actief worden, wordt een vooraf opgewarmde instantie toegewezen. De facturering begint op dit moment.

Als de snelheid van HTTP-aanvragen steeds verder toeneemt en App Service besluit om te schalen naar meer dan de initiële vijf instanties, wordt de vooraf verwarmde instantie gebruikt. Dit betekent dat wanneer er zes actieve exemplaren zijn, er onmiddellijk een zevende exemplaar wordt ingericht om de vooraf gevulde buffer te vullen.

Dit proces van schalen en voorverwarmen gaat door totdat het maximumaantal exemplaren voor de app is bereikt. Het is belangrijk om te weten dat er geen exemplaren worden voorverwarmd of geactiveerd boven het maximumaantal exemplaren.

Waarom heeft AppServiceHTTPLogs logboekvermeldingen die vergelijkbaar zijn met /admin/host/ping en een 404-status?

Automatisch schalen van App Service controleert periodiek het /admin/host/ping eindpunt samen met andere mechanismen voor statuscontrole die inherent zijn aan het platform. Af en toe kunnen deze pings vanwege bestaande platformconfiguraties 404-fouten retourneren. Het is echter belangrijk om te weten dat deze 404-fouten geen invloed mogen hebben op de beschikbaarheid of schaalprestaties van uw app.

Als uw web-app een 5xx-status retourneert, kunnen deze eindpunt-pings leiden tot onregelmatig opnieuw opstarten, hoewel dit scenario ongebruikelijk is. Zorg ervoor dat uw web-app geen 5xx-status retourneert op dit eindpunt. Deze ping-eindpunten kunnen niet worden aangepast.

Hoe kan ik het aantal uitgeschaalde exemplaren bijhouden tijdens de gebeurtenis voor automatisch schalen?

De AutomaticScalingInstanceCount metriek rapporteert het aantal virtuele machines waarop de app wordt uitgevoerd, inclusief het voorverwarmde exemplaar als het is ingezet. Deze metrische waarde kan ook worden gebruikt om het maximum aantal exemplaren bij te houden dat uw web-app is uitgeschaald tijdens een gebeurtenis voor automatisch schalen. Deze metrische waarde is alleen beschikbaar voor de apps waarvoor Automatisch schalen is ingeschakeld.

Hoe heeft ARR-affiniteit invloed op automatisch schalen?

Azure App Service maakt gebruik van routeringscookies voor toepassingsaanvragen, ook wel ARR-affiniteit genoemd. ARR Affinity-cookies beperken het schalen, omdat ze alleen aanvragen verzenden naar servers die zijn gekoppeld aan de cookie, in plaats van een beschikbaar exemplaar. Voor apps die de status opslaan, is het beter om omhoog te schalen (resources op één exemplaar te vergroten). Voor staatloze apps biedt uitschalen (meer exemplaren toevoegen) meer flexibiliteit en schaalbaarheid. Cookies voor ARR-affiniteit zijn standaard ingeschakeld in App Service. Afhankelijk van de behoeften van uw toepassing kunt u ervoor kiezen om ARR-affiniteitscookies uit te schakelen bij het gebruik van automatisch schalen.

Als u ARR Affinity-cookies wilt uitschakelen: selecteer uw App Service-app en selecteer onder Instellingen de optie Configuratie. Selecteer vervolgens het tabblad Algemene instellingen . Selecteer onder Sessieaffiniteitde optie Uit en selecteer vervolgens de knop Opslaan .