översikt över Служба приложений Azure lokal cache
Anteckning
Lokal cache stöds inte i funktionsappar eller i containerbaserade Serviço de Aplicativo appar, till exempel i Windows-containrar eller i App Service dla systemu Linux. En version av lokal cache som är tillgänglig för dessa apptyper är App Cache.
Служба приложений Azure innehåll lagras i Azure Storage och visas på ett hållbart sätt som en innehållsresurs. Den här designen är avsedd att fungera med en mängd olika appar och har följande attribut:
- Innehållet delas mellan flera vm-instanser av appen.
- Innehållet är beständigt och kan ändras genom att köra appar.
- Loggfiler och diagnostikdatafiler är tillgängliga under samma delade innehållsmapp.
- Om du publicerar nytt innehåll uppdateras innehållsmappen direkt. Du kan omedelbart visa samma innehåll via SCM-webbplatsen och den app som körs (vanligtvis vissa tekniker, till exempel ASP.NET starta om en app på vissa filändringar för att hämta det senaste innehållet).
Många appar använder en eller alla dessa funktioner, men vissa appar behöver bara ett skrivskyddat innehållsarkiv med höga prestanda som de kan köras från med hög tillgänglighet. Dessa appar kan dra nytta av en VM-instans av en specifik lokal cache.
Funktionen Служба приложений Azure lokal cache ger en webbrollsvy över ditt innehåll. Det här innehållet är en cache för att skriva men ta bort ditt lagringsinnehåll som skapas asynkront vid start på plats. När cacheminnet är klart växlas platsen till att köras mot det cachelagrade innehållet. Appar som körs på lokal cache har följande fördelar:
- De är immuna mot svarstider som uppstår när de får åtkomst till innehåll i Azure Storage.
- De påverkas inte av anslutningsproblem till lagringen, eftersom den skrivskyddade kopian cachelagras i arbetaren.
- De har färre omstarter av appar på grund av ändringar i lagringsresursen.
Anteckning
Om du använder Java (Java SE, Tomcat eller JBoss EAP) kopieras som standard Java-artefakterna--.jar-, .war- och .ear-filer lokalt till arbetaren. Om Java-programmet också är beroende av skrivskyddad åtkomst till andra filer anger du JAVA_COPY_ALL
till true
för att dessa filer också ska kopieras. Om lokal cache är aktiverat krävs precendnce för den här Java-specifika förbättringen.
Hur den lokala cachen ändrar beteendet för Serviço de Aplicativo
- D:\home pekar på den lokala cachen, som skapas på den virtuella datorinstansen när appen startas. D:\local fortsätter att peka på den tillfälliga VM-specifika lagringen.
- Den lokala cachen innehåller en engångskopia av mapparna /site och /siteextensions i det delade innehållsarkivet, på D:\home\site respektive D:\home\siteextensions. Filerna kopieras till den lokala cachen när appen startas. Storleken på de två mapparna för varje app är begränsad till 1 GB som standard, men kan ökas till 2 GB. Observera att när cachestorleken ökar tar det längre tid att läsa in cacheminnet. Om du har ökat gränsen för lokal cache till 2 GB och de kopierade filerna överskrider den maximala storleken på 2 GB ignorerar Serviço de Aplicativo tyst lokal cache och läser från fjärrfilresursen. Om ingen gräns har definierats eller om gränsen är inställd på något lägre än 2 GB och de kopierade filerna överskrider gränsen kan distributionen eller växlingen misslyckas med ett fel.
- Den lokala cachen är skrivskyddad. Ändringar ignoreras dock när appen flyttar virtuella datorer eller startas om. Använd inte den lokala cachen för appar som lagrar verksamhetskritiska data i innehållsarkivet.
- D:\home\LogFiles och D:\home\Data innehåller loggfiler och appdata. De två undermapparna lagras lokalt på den virtuella datorinstansen och kopieras regelbundet till det delade innehållsarkivet. Appar kan spara loggfiler och data genom att skriva dem till dessa mappar. Det är dock bäst att kopiera till det delade innehållsarkivet, så det är möjligt att loggfiler och data går förlorade på grund av en plötslig krasch av en virtuell datorinstans.
- Loggströmning påverkas av den bästa kopieringen. Du kan se en fördröjning på upp till en minut i de strömmade loggarna.
- I det delade innehållsarkivet sker en ändring i mappstrukturen för mapparna LogFiles och Data för appar som använder den lokala cachen. Det finns nu undermappar i dem som följer namngivningsmönstret för "unik identifierare" + tidsstämpel. Var och en av undermapparna motsvarar en VM-instans där appen körs eller har körts.
- Andra mappar i D:\home finns kvar i det lokala cacheminnet och kopieras inte till det delade innehållsarkivet.
- Appdistribution via valfri metod som stöds publicerar direkt till det varaktiga delade innehållsarkivet. Om du vill uppdatera mapparna D:\home\site och D:\home\siteextensions i det lokala cacheminnet måste appen startas om. Om du vill göra livscykeln sömlös kan du läsa informationen senare i den här artikeln.
- Standardinnehållsvyn för SCM-webbplatsen fortsätter att vara den för det delade innehållsarkivet.
Aktivera lokal cache i Serviço de Aplicativo
Anteckning
Lokal cache stöds inte på nivån F1 eller D1 .
Du konfigurerar lokal cache med hjälp av en kombination av reserverade appinställningar. Du kan konfigurera dessa appinställningar med hjälp av följande metoder:
Konfigurera lokal cache med hjälp av Azure-Portal
Du aktiverar lokal cache per webbapp med hjälp av den här appinställningen: WEBSITE_LOCAL_CACHE_OPTION
= Always
Konfigurera lokal cache med hjälp av Azure Resource Manager
...
{
"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"
}
}
...
Ändra storleksinställningen i lokal cache
Som standard är den lokala cachestorleken 1 GB. Detta inkluderar mapparna /site och /siteextensions som kopieras från innehållsarkivet, samt eventuella lokalt skapade loggar och datamappar. Om du vill öka den här gränsen använder du appinställningen WEBSITE_LOCAL_CACHE_SIZEINMB
. Du kan öka storleken upp till 2 GB (2 000 MB) per app. Observera att det tar längre tid att läsa in lokal cache när storleken ökar.
Metodtips för att använda Serviço de Aplicativo lokal cache
Vi rekommenderar att du använder lokal cache tillsammans med funktionen Mellanlagringsmiljöer .
- Lägg till inställningen
WEBSITE_LOCAL_CACHE_OPTION
fäst app med värdetAlways
till produktionsplatsen. Om du använderWEBSITE_LOCAL_CACHE_SIZEINMB
lägger du även till den som en fäst inställning i produktionsplatsen. - Skapa en mellanlagringsplats och publicera till mellanlagringsplatsen. Du ställer vanligtvis inte in mellanlagringsplatsen för att använda lokal cache för att möjliggöra en sömlös livscykel för att skapa-distribuera-testa för mellanlagring om du får fördelarna med lokal cache för produktionsplatsen.
- Testa webbplatsen mot mellanlagringsplatsen.
- När du är klar kan du utfärda en växlingsåtgärd mellan mellanlagrings- och produktionsplatserna.
- Sticky-inställningar inkluderar namn och fäst på en plats. Så när mellanlagringsplatsen växlas till produktion ärver den appinställningarna för lokal cache. Den nyligen växlade produktionsplatsen körs mot den lokala cachen efter några minuter och värms upp som en del av platsuppvärmningen efter bytet. Så när fackväxlingen är klar körs produktionsplatsen mot den lokala cachen.
Vanliga frågor och svar (FAQ)
Hur vet jag om den lokala cachen gäller för min app?
Om din app behöver ett högpresterande, tillförlitligt innehållslager, inte använder innehållsarkivet för att skriva kritiska data vid körning och är mindre än 2 GB i total storlek är svaret "ja"! Om du vill hämta den totala storleken på mapparna /site och /siteextensions kan du använda webbplatstillägget "Azure веб-приложения Disk Usage".
Hur vet jag om min webbplats har bytt till att använda lokal cache?
Om du använder funktionen Lokal cache med mellanlagringsmiljöer slutförs inte växlingsåtgärden förrän den lokala cachen har värmts upp. Om du vill kontrollera om webbplatsen körs mot lokal cache kan du kontrollera miljövariabeln WEBSITE_LOCALCACHE_READY
för arbetsprocessen . Använd anvisningarna på variabelsidan för arbetsprocessmiljön för att få åtkomst till miljövariabeln för arbetsprocesser på flera instanser.
Jag har precis publicerat nya ändringar, men min app verkar inte ha dem. Varför?
Om din app använder lokal cache måste du starta om webbplatsen för att få de senaste ändringarna. Vill du inte publicera ändringar på en produktionsplats? Se fackalternativen i föregående metodtipsavsnitt.
Anteckning
Alternativet kör från paketdistribution är inte kompatibelt med lokal cache.
Var finns mina loggar?
Med lokal cache ser dina loggar och datamappar lite annorlunda ut. Strukturen för dina undermappar förblir dock densamma, förutom att undermapparna ligger inbäddade i en undermapp med formatet "unik VM-identifierare" + tidsstämpel.
Jag har lokal cache aktiverad, men min app startas fortfarande om. Vad beror det på? Jag trodde att lokal cache hjälpte till med frekventa omstarter av appar.
Lokal cache hjälper till att förhindra omstarter av lagringsrelaterade appar. Din app kan dock fortfarande startas om under planerade infrastrukturuppgraderingar av den virtuella datorn. Den övergripande appen startar om som du upplever med lokal cache aktiverad bör vara färre.
Utesluter lokal cache att kataloger kopieras till den snabbare lokala enheten?
Som en del av steget som kopierar lagringsinnehållet undantas alla mappar som heter lagringsplats. Detta hjälper dig med scenarier där webbplatsinnehållet kan innehålla en lagringsplats för källkontroll som kanske inte behövs i den dagliga driften av appen.
Hur rensar jag de lokala cacheloggarna efter en platshanteringsåtgärd?
Om du vill tömma de lokala cacheloggarna stoppar du och startar om appen. Den här åtgärden rensar det gamla cacheminnet.
Varför börjar Serviço de Aplicativo visa tidigare distribuerade filer efter en omstart när lokal cache är aktiverat?
Om Serviço de Aplicativo börjar visa tidigare distribuerade filer vid en omstart kontrollerar du förinläsningen av appinställningen – "WEBSITE_DISABLE_SCM_SEPARATION=true". När du har lagt till den här inställningen börjar alla distributioner via KUDU skriva till den lokala virtuella datorn i stället för den beständiga lagringen. Metodtips som nämns ovan i den här artikeln bör användas, där distributionerna alltid ska göras till mellanlagringsplatsen som inte har lokal cache aktiverad.