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.
Návod
V Azure můžete také položit Microsoft Copilot tyto otázky:
- Jak funguje místní mezipaměť ve službě Azure App Service?
- Jaké jsou výhody používání místní mezipaměti ve službě Azure App Service?
- Jaká jsou omezení používání místní mezipaměti ve službě Azure App Service?
Pokud chcete najít Copilot v Azure, na panelu nástrojů webu Azure Portal vyberte Copilot.
Obsah služby Azure App Service je uložený ve službě Azure Storage a je vystavený jako odolná sdílená složka obsahu. Tento návrh funguje s různými aplikacemi a má následující atributy:
- Obsah se sdílí napříč několika instancemi virtuálního počítače aplikace.
- Obsah je trvalý a spuštěné aplikace ho můžou upravovat.
- Soubory protokolů a soubory diagnostických dat jsou k dispozici ve stejné složce sdíleného obsahu.
- Publikování nového obsahu přímo aktualizuje složku obsahu. Stejný obsah můžete okamžitě zobrazit prostřednictvím webu Správce správy zdrojového kódu (SCM, označovaného také jako Kudu) a spuštěné aplikace. Některé technologie (například ASP.NET) ale můžou zahájit restartování aplikace u určitých změn souborů, aby se načetl nejnovější obsah.
I když některé aplikace používají jednu nebo více těchto funkcí, některé aplikace potřebují vysoce výkonné úložiště obsahu jen pro čtení, ze kterého můžou běžet s vysokou dostupností. Tyto aplikace můžou využívat běhu proti místní mezipaměti na instanci virtuálního počítače.
Funkce místní mezipaměti ve službě Azure App Service poskytuje zobrazení webové role vašeho obsahu. Tento obsah je mezipaměť úložiště zapsaná, ale zahozená, která se asynchronně vytváří při spuštění stránky. Až bude mezipaměť připravená, web se přepne tak, aby běžel na obsahu v mezipaměti.
Aplikace, které běží s místní mezipamětí, z toho těží následujícími způsoby:
- Jsou imunní vůči latencím spojeným s přístupem k obsahu ve službě Azure Storage.
- Problémy s připojením k úložišti nemají vliv, protože kopie jen pro čtení je uložená místně v mezipaměti.
- Dochází k menšímu počtu restartování aplikací ze změn ve sdílené složce úložiště.
Poznámka:
Funkce místní mezipaměti není podporována v aplikacích funkcí ani kontejnerizovaných aplikacích App Service, jako jsou kontejnery Windows nebo integrované nebo vlastní kontejnery Linuxu. Verze funkce, která je pro tyto typy aplikací dostupná, je App Cache.
Funkce místní mezipaměti se také nepodporuje v cenových úrovních F1 a D1 služby App Service.
Jak místní mezipaměť mění chování služby App Service
Konfigurace místní mezipaměti způsobí tyto změny:
D:\home
teď odkazuje na místní mezipaměť, která se vytvoří v instanci virtuálního počítače při spuštění aplikace.D:\local
nadále odkazuje na dočasné úložiště specifické pro virtuální počítač.Místní mezipaměť obsahuje jednorázovou kopii
/site
a/siteextensions
složky ze sdíleného úložiště obsahu. Tyto složky jsou umístěny naD:\home\site
adrese aD:\home\siteextensions
v uvedeném pořadí. Tyto soubory se při spuštění aplikace zkopírují do místní mezipaměti.Velikost těchto dvou složek je ve výchozím nastavení omezená na 1 GB, ale můžete ji zvětšit na 2 GB. S rostoucí velikostí mezipaměti trvá načtení mezipaměti delší dobu. Pokud zvýšíte limit místní mezipaměti na 2 GB a zkopírované soubory překročí tuto maximální velikost, služba App Service bezobslužně ignoruje místní mezipaměť a čte ze vzdálené sdílené složky.
Důležité
Pokud zkopírované soubory překročí definovaný limit velikosti pro místní mezipaměť nebo pokud není definován žádný limit, operace nasazení a prohození můžou selhat s chybou. Podrobnosti najdete v nejčastějších dotazech k limitům velikosti dál v tomto článku.
Místní mezipaměť je jen pro čtení a zápis. Avšak jakékoli změny se zahodí, když se aplikace přesune mezi virtuálními počítači nebo restartuje. Nepoužívejte místní mezipaměť pro ukládání důležitých dat.
D:\home\LogFiles
aD:\home\Data
obsahují soubory protokolů a data aplikací. Tyto složky se ukládají místně v instanci virtuálního počítače a pravidelně se kopírují do sdíleného úložiště obsahu. I když aplikace můžou uchovávat soubory protokolů a data zápisem do těchto složek, proces kopírování se provádí podle nejlepších možností. Soubory protokolů a data můžou být ztraceny, pokud instance virtuálního počítače náhle přestane reagovat.Kopírování s nejlepším úsilím ovlivňuje streamování protokolů. V streamovaných protokolech můžete pozorovat až jednominutové zpoždění.
Ve sdíleném úložišti obsahu se mění struktura složek pro
LogFiles
aData
u aplikací, které používají místní mezipaměť. Nyní existují podsložky s názvy, které se skládají z jedinečného identifikátoru a časové značky. Každá podsložka odpovídá instanci virtuálního počítače, ve které je aplikace nebo byla spuštěná.Ostatní složky zůstávají v
D:\home
místní mezipaměti a nekopírují se do úložiště sdíleného obsahu.Nasazení aplikací prostřednictvím libovolné podporované metody se ukládají přímo do úložiště trvalého sdíleného obsahu. Pokud chcete aktualizovat
D:\home\site
složky aD:\home\siteextensions
složky v místní mezipaměti, musíte aplikaci restartovat. Bezproblémový životní cyklus najdete v části o osvědčených postupech dále v tomto článku.Výchozí zobrazení obsahu webu SCM bude i nadále odrážet sdílené úložiště obsahu.
Poznámka:
Pokud používáte Javu (Java SE, Tomcat nebo JBoss EAP), pak se ve výchozím nastavení Java artefakty (.jar, .war a .ear soubory) zkopírují místně k pracovníkovi. Pokud vaše aplikace v Javě závisí na přístupu jen pro čtení k dalším souborům, nastavte JAVA_COPY_ALL
na true
, aby se tyto soubory také kopírovaly. Pokud je povolená místní mezipaměť, má přednost před tímto chováním specifickým pro Javu.
Metody umožnění místní mezipaměti
Místní mezipaměť nakonfigurujete pomocí kombinace nastavení rezervované aplikace. Tato nastavení aplikace můžete nastavit pomocí jedné z následujících metod.
Konfigurace místní mezipaměti pomocí webu Azure Portal
Přidáním tohoto nastavení aplikace povolte místní mezipaměť pro každou webovou aplikaci: WEBSITE_LOCAL_CACHE_OPTION
= Always
.
Konfigurace místní mezipaměti pomocí Azure Resource Manageru
{
"apiVersion": "2015-08-01",
"type": "config",
"name": "appsettings",
"dependsOn": [
"[resourceId('Microsoft.Web/sites/', variables('siteName'))]"
],
"properties": {
"WEBSITE_LOCAL_CACHE_OPTION": "Always",
"WEBSITE_LOCAL_CACHE_SIZEINMB": "1000"
}
}
Změna nastavení velikosti v místní mezipaměti
Ve výchozím nastavení je velikost místní mezipaměti 1 GB. Tato velikost zahrnuje zkopírované /site
/siteextensions
složky z úložiště obsahu. Zahrnuje také všechny místně generované protokoly a datové složky.
Pokud chcete tento limit zvýšit, použijte nastavení WEBSITE_LOCAL_CACHE_SIZEINMB
aplikace . Velikost můžete na aplikaci zvětšit až o 2 GB (2 000 MB). Mějte na paměti, že větší velikost mezipaměti zvyšuje dobu načítání mezipaměti.
Osvědčené postupy pro použití místní mezipaměti
Doporučujeme používat místní mezipaměť ve spojení s přípravnou funkcí prostředí .
Následující proces představuje osvědčené postupy pro použití místní mezipaměti:
Přidejte trvalé nastavení aplikace
WEBSITE_LOCAL_CACHE_OPTION
s hodnotouAlways
do produkčního slotu. Pokud používáteWEBSITE_LOCAL_CACHE_SIZEINMB
, označte toto nastavení také jako trvalé nastavení pro produkční slot.Vytvořte staging slot a publikujte na něj. Obvykle nenastavíte přípravný slot tak, aby používal místní mezipaměť, což pomáhá zajistit bezproblémový životní cyklus sestavení/ nasazení/testování a zároveň poskytuje výhody místní mezipaměti pro produkční slot.
Otestujte svůj web v testovacím prostředí.
Až budete připraveni, proveďte prohození mezi přípravnými a produkčními prostředími.
Nastavení sticky jsou svázaná s slotem. Když se inscenovací slot prohodí do produkčního prostředí, zdědí nastavení aplikace z místní mezipaměti. Nově přidělený produkční slot po několika minutách pracuje s místní mezipamětí a je připraven během zahřátí slotu. Po dokončení prohození se váš produkční slot spustí proti místní mezipaměti.
Nejčastější dotazy
Co když překročím limit velikosti místní mezipaměti?
Pokud zkopírované soubory překročí limit velikosti místní mezipaměti, aplikace se vrátí ke čtení ze vzdálené sdílené složky. V následující tabulce jsou uvedeny podrobnosti.
Velikost místní mezipaměti | Zkopírované soubory | Výsledek |
---|---|---|
≤ 2 GB | ≤ velikosti místní mezipaměti | Čte z místní mezipaměti. |
≤ 2 GB | > velikost místní mezipaměti | Čte ze vzdáleného sdílení. Operace nasazení a výměny můžou selhat, když dojde k chybě. |
Jak zjistím, jestli má aplikace výhod místní mezipaměti?
Místní mezipaměť je vhodná, pokud platí všechny tyto podmínky:
- Vaše aplikace vyžaduje vysoce výkonné spolehlivé úložiště obsahu.
- Aplikace nepoužívá úložiště obsahu k zápisu důležitých dat za běhu.
- Celková velikost je menší než 2 GB.
Pokud chcete zkontrolovat celkovou velikost vašich /site
a /siteextensions
složek, můžete použít rozšíření webu Azure Web Apps Disk Usage.
Jak zjistím, jestli se můj web přepnul na používání místní mezipaměti?
Pokud používáte místní mezipaměť s přípravnými prostředími, výměna se nedokončí, dokud se místní mezipaměť nezahřeje nebo nepřipraví. Chcete-li ověřit, zda váš web používá místní mezipaměť, zkontrolujte proměnnou prostředí pracovního procesu WEBSITE_LOCALCACHE_READY
. Pokud chcete zkontrolovat tuto proměnnou napříč několika instancemi, přečtěte si pokyny Kudu pro proměnnou prostředí pracovního procesu.
Proč moje aplikace neodráží nově publikované změny?
Pokud vaše aplikace používá místní mezipaměť, musíte web restartovat, aby se načetly nejnovější změny. Pokud nechcete publikovat změny přímo do produkční lokality, zvažte použití slotů nasazení, jak je popsáno v předchozí části o osvědčených postupech.
Poznámka:
Možnost nasazení spouštěním z balíčku není kompatibilní s funkcí místní mezipaměti.
Kde jsou moje protokoly?
Když používáte místní mezipaměť, struktura protokolů a datových složek se mírně změní. Podsložky jsou teď vnořené do složky s názvem jedinečný identifikátor virtuálního počítače a časovým razítkem. Každá z těchto složek odpovídá instanci VM, ve které aplikace běží nebo běžela.
Proč se moje aplikace pořád restartuje s povolenou místní mezipamětí?
Místní mezipaměť pomáhá zabránit restartování aplikací souvisejících s úložištěm. Vaše aplikace se ale může během plánovaných upgradů infrastruktury na virtuálním počítači stále restartovat. Celkově byste měli sledovat méně restartování s povolenou místní mezipamětí.
Vylučuje místní mezipaměť z kopírování do rychlejšího místního disku všechny adresáře?
Během procesu kopírování je vyloučena jakákoli složka s názvem repository
. Toto chování je užitečné ve scénářích, kdy obsah webu obsahuje úložiště správy zdrojového kódu, které nepotřebujete pro každodenní operace.
Jak vyprázdním protokoly místní mezipaměti po operaci správy lokality?
Pokud chcete vyprázdnit protokoly místní mezipaměti, zastavte a restartujte aplikaci. Tato akce vymaže předchozí mezipaměť.
Proč služba App Service zobrazuje dříve nasazené soubory po restartování, když je povolená místní mezipaměť?
Pokud se dříve nasazené soubory znovu zobrazí po restartování, zkontrolujte přítomnost nastavení WEBSITE_DISABLE_SCM_SEPARATION=true
aplikace . Přidání tohoto nastavení způsobí, že nasazení prostřednictvím Kudu zapisují do místního virtuálního počítače místo trvalého úložiště. Pokud se chcete této situaci vyhnout, postupujte podle osvědčených postupů uvedených dříve a proveďte nasazení do přípravného slotu, který nemá povolenou místní mezipaměť.