Az Azure Container Apps hidegindítási idejének csökkentése

Ha a tárolóalkalmazás inaktivitási időszakokban nullára skálázódik, a következő bejövő kérés hidegindítást vált ki. A hidegindítás a tárolórendszerkép lekérésének, az erőforrások kiépítésének és az alkalmazáskód elindításának időigényes folyamata.

Ez a késés hatással van a felhasználói élményre, különösen a gyors válaszidőt igénylő alkalmazások esetében. A hidegindítások gyakran leginkább nagy tárolólemezképeket, összetett alkalmazásinicializálást vagy ML/AI-számítási feladatokat tartalmazó forgatókönyvekben észlelhetők.

Ez az útmutató segít enyhíteni a hidegindítási időket az Azure Container Appsben.

Tárolólemezkép méretének optimalizálása

A gépi tanulás és a mesterséges intelligenciával járó számítási feladatok gyakran nagy tárolólemezképekhez vannak társítva. Ha lehetséges, csökkentse ezeknek a képeknek a méretét a lehető legnagyobb mértékben, és szüntesse meg a szükségtelen kódtárak használatát.

Gyakran a képeket csekély módosításokkal használják a betanítás utáni következtetéseknél. A tárolók ellenőrzése során távolítsa el azokat a fejlesztői eszközöket és függőségeket, amelyek kizárólag a modellfejlesztéshez szükségesek, miközben előkészíti a tárolót az inferenciális használatra.

Távoli képregisztrációs adatbázisok elkerülése

Használjon tárolóregisztrációs adatbázisokat a Container Apps-környezethez közel. Ez általában azt jelenti, hogy egy, a környezetével azonos régióban üzembe helyezett Azure Container Registryt vagy egy globális disztribúciót tartalmazó prémium szintű beállításjegyzéket szeretne használni.

Nagy méretű letöltések kezelése

Tárolócsatlakozókkal a tárolóalkalmazás közelében tárolhatja a kritikus adatokat, különösen akkor, ha a fájlméretek nagyok. Ha például az alkalmazás nagy nyelvi modellt igényel, előre letöltheti a modellt a tárfiókba. Ha nagy méretű fájlokat olvas be egy tárfiókból, elkerülheti a fájlok internetes lekérésének késését.

Ha tároló szerelvényt hoz létre MI munkaterhelésekhez, győződjön meg arról, hogy az igényeinek leginkább megfelelő csatlakoztatási lehetőségeket használja.

Az egyéni élőségi állapotellenőrzés megvalósítása vagy a korai figyelés elindítása

Az Azure Container Apps automatikusan beállít egy élőségi mintavételt , ha engedélyezve van a bejövő forgalom. A rendszerképek és alkalmazások elindítása hosszú időt vesz igénybe a rendszerkép elindítása után, ami problémákat okozhat a tárolóval kapcsolatban. A Container Apps leállíthatja a kezdő alkalmazást, mert nem működik az élőség-mintavétel.

Ha meg szeretné akadályozni, hogy a Container Apps idő előtt megöljön egy képet, implementáljon egy egyéni élőségi mintavételt, amely lehetővé teszi a hosszabb indításokat. Megteheti, hogy az indítási ciklus korábbi szakaszában a dedikált célportra figyel, így az alkalmazását a port megnyitása után inicializálhatja.

Ügyféloldali szállások

A hidegindítási idők az alkalmazástól függően változnak. Az idő érzékelésének lehető legnagyobb mértékű csökkentése érdekében finomhangolja az ügyfeleket, hogy alkalmazkodjanak a késéshez.

Fontos jelezni a felhasználóknak, hogy egy bizonyos kérés hosszabb időt vehet igénybe, és elengedhetetlen az újrapróbálkozási próbálkozások megvalósítása. A kódot megerősítheti, hogy elkerülje a váratlan időtúllépéseket, amelyek meghaladják azt, amit az alkalmazás hatékonyan kezelhet.

Alkalmazásoldali instrumentáció

A teljesítményproblémák elhárításához implementáljon alkalmazásoldali teljesítménymetrikákat és naplózást az alkalmazás életciklusának minden szakaszához.

Ébreszd fel proaktívan az alkalmazásodat.

Ha a fenti javaslatok nem biztosítják a kívánt teljesítményt, ébresztse fel az alkalmazást a tényleges használat előtt. Tegyük fel például, hogy reggel 9-kor beállít egy feladatot, hogy felébresztse az alkalmazást, mielőtt az alkalmazottak elkezdik a munkanapjukat. Ez a módszer kiküszöbölheti a hosszadalmas hidegindításokat, miközben továbbra is lehetővé teszi a nullára történő skálázással járó költségmegtakarítást, amikor az alkalmazás nincs használatban.