Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Když se vaše aplikace kontejneru během období nečinnosti škáluje na nulu, další příchozí požadavek aktivuje studené spuštění. Studený start je časově náročný proces zahrnující načítání obrazu kontejneru, zřizování prostředků a spouštění kódu aplikace.
Toto zpoždění má vliv na uživatelské prostředí, zejména pro aplikace, které vyžadují rychlou dobu odezvy. Studené starty jsou často nejvýraznější ve scénářích zahrnujících velké obrazy kontejnerů, komplexní inicializaci aplikací nebo úlohy ML/AI.
Tato příručka vám pomůže zmírnit časy studeného spuštění ve službě Azure Container Apps.
Optimalizace velikosti image kontejneru
Pracovní zátěže náročné na strojové učení a umělou inteligenci jsou často přidružené k velkým obrazům kontejnerů. Kdykoli je to možné, zmenšete velikost těchto obrázků co nejvíce a eliminujte jakékoli použití nepotřebných knihoven.
Obrázky často přecházejí z tréninkového do aplikačního použití s pouze minimálními úpravami. Nezapomeňte auditovat kontejnery a odebrat vývojové nástroje a závislosti potřebné jenom pro vývoj modelů při přípravě kontejneru na odvozování.
Vyhněte se vzdáleným registrům obrazů
Použijte registry kontejnerů blízko vašeho prostředí Container Apps. Obvykle to znamená, že chcete použít službu Azure Container Registry nasazenou ve stejné oblasti jako vaše prostředí nebo registr úrovně Premium, který obsahuje globální distribuci.
Správa velkých stahování
Použijte úložné připojení k udržení důležitých dat blízko vaší kontejnerové aplikace, zejména když jsou soubory velké. Pokud vaše aplikace například vyžaduje velký jazykový model, můžete si ho předem stáhnout do účtu úložiště. Čtením velkých souborů z účtu úložiště se vyhnete latenci načítání souborů přes internet.
Pokud vytváříte připojení úložiště pro úlohy AI, ujistěte se, že používáte nejvhodnější možnosti připojení pro vaše potřeby.
Implementovat vlastní kontrolní sonda životaschopnosti nebo začít naslouchat brzy
Azure Container Apps automaticky nastaví sondu živě, když je povolený příchozí přenos dat. Zpoždění při spuštění imagí a aplikací po jejich zavedení může způsobit problémy s kontejnerem. Služba Container Apps může spouštěcí aplikaci zabít, protože selže sonda aktivity.
Pokud chcete zabránit, aby Container Apps předčasně ukončily běh image, implementujte vlastní sondu liveness pro umožnění delšího spouštění. Alternativně můžete naslouchat na vyhrazeném cílovém portu pro jednoduchá připojení dříve v spouštěcím cyklu a inicializovat aplikaci po otevření portu.
Ubytování na straně klienta
Časy studeného spuštění se liší v závislosti na vaší aplikaci. Abyste snížili vnímání této doby co nejvíce, vylaďte své klienty tak, aby se přizpůsobili zpoždění.
Signalizace uživatelům, že určitá žádost může trvat déle a implementace opakování je nezbytná. Můžete také posílit zabezpečení kódu, abyste se vyhnuli neočekávaným časovým limitům, které překračují to, co vaše aplikace dokáže elegantně zpracovat.
Instrumentace na straně aplikace
Při řešení potíží s výkonem implementujte metriky výkonu na straně aplikace a protokolování pro každou fázi životního cyklu aplikace.
Proaktivní probuzení aplikace
Pokud výše uvedená doporučení neposkytnou požadovaný výkon, probuďte aplikaci před skutečným využitím. Zvažte například naplánování úlohy na 9:00, aby se aplikace probudila před začátkem pracovního dne zaměstnanců. Tento přístup by mohl eliminovat zdlouhavé spuštění za studena, ale současně umožňuje úspory nákladů na nulu, kdykoli se aplikace nepoužívá.