Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer uw container-app wordt geschaald naar nul tijdens perioden van inactiviteit, activeert de volgende binnenkomende aanvraag een koude start. Een cold-start is het tijdrovende proces van het ophalen van uw containerafbeelding, het beschikbaar stellen van resources en het starten van uw applicatiecode.
Deze vertraging heeft gevolgen voor de gebruikerservaring, met name voor toepassingen die snelle reactietijden vereisen. Cold-starts zijn vaak het meest merkbaar in scenario's met grote containers, complexe applicatie-initialisatie of ML/AI-workloads.
Deze handleiding helpt u bij het beperken van koude begintijden in Azure Container Apps.
Optimaliseer de grootte van containerafbeeldingen
Machine learning- en AI-intensieve workloads worden vaak geassocieerd met grote containerafbeeldingen. Verklein indien mogelijk de grootte van deze afbeeldingen zoveel mogelijk en elimineer het gebruik van onnodige bibliotheken.
Vaak gaan beelden van training naar gebruik voor inferentie met slechts minimale aanpassingen. Zorg ervoor dat u uw containers controleert om ontwikkelhulpprogramma's en afhankelijkheden te verwijderen die alleen vereist zijn voor modelontwikkeling wanneer u uw container voorbereidt op het gebruik van deductie.
Vermijd afgelegen imageregisters
Gebruik containerregisters dicht bij uw Container Apps-omgeving. Dit betekent meestal dat u een Azure Container Registry wilt gebruiken die is geïmplementeerd in dezelfde regio als uw omgeving, of een Premium-register dat wereldwijde distributie biedt.
Grote downloads beheren
Gebruik opslagkoppelingen om kritieke gegevens dicht bij uw container-app te bewaren, met name wanneer de bestandsgrootten groot zijn. Als uw app bijvoorbeeld een groot taalmodel vereist, kunt u het model vooraf downloaden naar uw opslagaccount. Door grote bestanden uit een opslagaccount te lezen, voorkomt u de latentie van het ophalen van bestanden via internet.
Als u een opslagkoppeling voor AI-workloads maakt, moet u ervoor zorgen dat u de meest geschikte koppelopties voor uw behoeften gebruikt.
Aangepaste levendigheidstest implementeren of vroeg beginnen met luisteren
Azure Container Apps stelt automatisch een livenesstest in wanneer inkomend verkeer is ingeschakeld. Afbeeldingen en toepassingen nemen veel tijd om op te starten nadat ze zijn gelanceerd, wat problemen met de container kan veroorzaken. Container Apps zou de toepassing tijdens het starten kunnen stoppen omdat deze de leefbaarheidscontrole niet doorstaat.
Om te voorkomen dat Container Apps een containerafbeelding voortijdig beëindigt, implementeert u een aangepaste livenessprobe om langere opstartprocessen mogelijk te maken. U kunt ook luisteren naar de toegewezen doelpoort voor eenvoudige verbindingen eerder in de opstartcyclus om uw toepassing te initialiseren nadat de poort is geopend.
Accommodaties aan de clientzijde
De koude begintijden variëren afhankelijk van uw toepassing. Om de ervaring van de wachttijd zoveel mogelijk te verlichten, stemt u uw klanten af om beter met de vertraging om te gaan.
Signalering aan gebruikers dat een bepaalde aanvraag langer kan duren en dat het implementeren van nieuwe pogingen essentieel is. U kunt uw code ook beveiligen om onverwachte time-outs te voorkomen die groter zijn dan wat uw toepassing correct kan verwerken.
Instrumentatie aan de toepassingszijde
Voor het oplossen van prestatieproblemen implementeert u metrische prestatiegegevens aan de toepassingszijde en logboekregistratie voor elke fase in de levenscyclus van uw toepassing.
Uw app proactief wakker maken
Als de bovenstaande aanbevelingen niet de gewenste prestaties bieden, moet u uw app wakker maken voordat er daadwerkelijk gebruik wordt gemaakt. U kunt bijvoorbeeld om 9:00 uur een taak instellen om de toepassing te activeren voordat werknemers hun werkdag beginnen. Deze aanpak kan lange koude starts elimineren terwijl nog steeds schaal-tot-nul kostenbesparingen mogelijk zijn wanneer de app niet in gebruik is.