Overzicht van Azure App Service lokale CacheAzure App Service Local Cache overview

Notitie

Lokale cache wordt niet ondersteund in de functie-apps of App Service-apps in containers, zoals op App Service on Linux.Local cache is not supported in Function apps or containerized App Service apps, such as on App Service on Linux.

Azure-web-app-inhoud is opgeslagen in Azure Storage en omhoog in een duurzame manier als share met de inhoud is opgehaald.Azure web app content is stored on Azure Storage and is surfaced up in a durable manner as a content share. Dit ontwerp is bedoeld om te werken met verschillende apps en bevat de volgende kenmerken:This design is intended to work with a variety of apps and has the following attributes:

  • De inhoud wordt gedeeld tussen meerdere exemplaren van de virtuele machine (VM) van de web-app.The content is shared across multiple virtual machine (VM) instances of the web app.
  • De inhoud, duurzaam en kan worden gewijzigd door het uitvoeren van webtoepassingen.The content is durable and can be modified by running web apps.
  • Logboekbestanden en diagnostische gegevensbestanden zijn beschikbaar onder de map met dezelfde gedeelde inhoud.Log files and diagnostic data files are available under the same shared content folder.
  • De map met inhoud publiceren van nieuwe inhoud rechtstreeks worden bijgewerkt.Publishing new content directly updates the content folder. U ziet onmiddellijk de dezelfde inhoud via de SCM-website en de actieve web-app (doorgaans sommige technologieën zoals ASP.NET een web-app opnieuw opstarten initiëren op sommige bestandswijzigingen om op te halen van de meest recente inhoud).You can immediately view the same content through the SCM website and the running web app (typically some technologies such as ASP.NET do initiate a web app restart on some file changes to get the latest content).

Veel web-apps gebruiken een of meer van deze functies, zijn sommige web-apps hoeft alleen maar een krachtige, alleen-lezen store voor inhoud die ze kunnen worden uitgevoerd vanaf met hoge beschikbaarheid.While many web apps use one or all of these features, some web apps just need a high-performance, read-only content store that they can run from with high availability. Deze apps kunnen profiteren van een VM-exemplaar van een specifieke lokale cache.These apps can benefit from a VM instance of a specific local cache.

De functie van de lokale Cache van Azure App Service biedt een webweergave van de rol van uw inhoud.The Azure App Service Local Cache feature provides a web role view of your content. Deze inhoud is een cache voor write-maar-negeren van de inhoud van uw opslag die asynchroon on-site opstarten wordt gemaakt.This content is a write-but-discard cache of your storage content that is created asynchronously on-site startup. Als de cache klaar is, wordt de site om te worden uitgevoerd op basis van de inhoud in cache ingeschakeld.When the cache is ready, the site is switched to run against the cached content. WebApps die worden uitgevoerd op de lokale Cache hebben de volgende voordelen:Web apps that run on Local Cache have the following benefits:

  • Ze zijn immuun voor latentie die optreden wanneer ze toegang inhoud op Azure Storage tot.They are immune to latencies that occur when they access content on Azure Storage.
  • Ze zijn ongevoelig voor de geplande upgrades of niet-geplande storingen en eventuele andere storingen met Azure Storage die zich voordoen op servers die de inhoud delen.They are immune to the planned upgrades or unplanned downtimes and any other disruptions with Azure Storage that occur on servers that serve the content share.
  • Ze hebben minder app wordt opnieuw opgestart vanwege wijzigingen voor storage-share.They have fewer app restarts due to storage share changes.

Hoe de lokale cache verandert het gedrag van App ServiceHow the local cache changes the behavior of App Service

  • D:\home verwijst naar de lokale cache, die op de VM-exemplaar wordt gemaakt wanneer de app wordt gestart.D:\home points to the local cache, which is created on the VM instance when the app starts up. D:\Local om te verwijzen naar de tijdelijke opslag voor VM-specifieke blijft.D:\local continues to point to the temporary VM-specific storage.
  • De lokale cache bevat een momentopname van de /siteconfiguratie en /siteextensions mappen van de gedeelde inhoud store op D:\home\site en D:\home\ siteextensions, respectievelijk.The local cache contains a one-time copy of the /site and /siteextensions folders of the shared content store, at D:\home\site and D:\home\siteextensions, respectively. De bestanden zijn gekopieerd naar de lokale cache wanneer de app wordt gestart.The files are copied to the local cache when the app starts up. De grootte van de twee mappen voor elke app is standaard beperkt tot 300 MB, maar u het kunt verhogen, kunt u maximaal 2 GB.The size of the two folders for each app is limited to 300 MB by default, but you can increase it up to 2 GB.
  • De lokale cache is alleen-lezen.The local cache is read-write. Een wijziging wordt echter verwijderd wanneer de app wordt verplaatst van virtuele machines of opnieuw wordt opgestart.However, any modification is discarded when the app moves virtual machines or gets restarted. Gebruik de lokale cache niet voor apps die essentiële gegevens opslaan in de store.Do not use the local cache for apps that store mission-critical data in the content store.
  • D:\home\LogFiles en D:\home\Data logboekbestanden en app-gegevens bevatten.D:\home\LogFiles and D:\home\Data contain log files and app data. De twee submappen worden lokaal opgeslagen op de VM-exemplaar en periodiek worden gekopieerd naar de gedeelde inhoud store.The two subfolders are stored locally on the VM instance, and are copied to the shared content store periodically. Apps kunnen logboekbestanden en gegevens behouden door ze naar deze mappen te schrijven.Apps can persist log files and data by writing them to these folders. Het kopiëren naar de gedeelde inhoud store is echter best-effort, zodat het mogelijk voor logboekbestanden en de gegevens verloren vanwege het vastlopen van een plotselinge van een VM-exemplaar.However, the copy to the shared content store is best-effort, so it is possible for log files and data to be lost due to a sudden crash of a VM instance.
  • Logboekstreaming wordt beïnvloed door het best-effort-exemplaar.Log streaming is affected by the best-effort copy. U kan zien tot een vertraging van één minuut in de gestreamde Logboeken.You could observe up to a one-minute delay in the streamed logs.
  • In de gedeelde inhoud store is een wijziging in de mapstructuur van de logboekbestanden en gegevens mappen voor apps die gebruikmaken van de lokale cache.In the shared content store, there is a change in the folder structure of the LogFiles and Data folders for apps that use the local cache. Er zijn nu submappen in die het naamgevingspatroon van "de unieke id" + tijdstempel volgen.There are now subfolders in them that follow the naming pattern of "unique identifier" + time stamp. Elk van de submappen komt overeen met een VM-exemplaar waar de app wordt uitgevoerd of is uitgevoerd.Each of the subfolders corresponds to a VM instance where the app is running or has run.
  • Andere mappen in D:\home blijven in de lokale cache en zijn niet gekopieerd naar de gedeelde inhoud store.Other folders in D:\home remain in the local cache and are not copied to the shared content store.
  • App-implementatie via elke ondersteunde methode publiceert rechtstreeks naar de duurzame opslag voor gedeelde inhoud.App deployment through any supported method publishes directly to the durable shared content store. Om te vernieuwen de D:\home\site en D:\home\siteextensions mappen in de lokale cache, de app moet opnieuw worden opgestart.To refresh the D:\home\site and D:\home\siteextensions folders in the local cache, the app needs to be restarted. Als u de levenscyclus van naadloze, Zie de informatie later in dit artikel.To make the lifecycle seamless, see the information later in this article.
  • De standaardweergave van de SCM-site blijft die van de gedeelde opslag van inhoud.The default content view of the SCM site continues to be that of the shared content store.

Lokale Cache in App Service inschakelenEnable Local Cache in App Service

U configureren lokale Cache met behulp van een combinatie van gereserveerde app-instellingen.You configure Local Cache by using a combination of reserved app settings. U kunt deze appinstellingen configureren met behulp van de volgende methoden:You can configure these app settings by using the following methods:

Lokale Cache configureren met behulp van de Azure-portalConfigure Local Cache by using the Azure portal

U de lokale Cache inschakelen op basis van de per-web-app met behulp van deze app-instelling: WEBSITE_LOCAL_CACHE_OPTION = AlwaysYou enable Local Cache on a per-web-app basis by using this app setting: WEBSITE_LOCAL_CACHE_OPTION = Always

Azure portal-app-instellingen: lokale Cache

Lokale Cache configureren met behulp van Azure Resource ManagerConfigure Local Cache by using 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": "300"
    }
}

...

De grootte van instelling wijzigen in lokale CacheChange the size setting in Local Cache

Grootte van de lokale cache is standaard 300 MB.By default, the local cache size is 300 MB. Dit omvat de KCC/site en /siteextensions-mappen die zijn gekopieerd uit de store voor inhoud, evenals de lokaal gemaakte logboeken en gegevens-mappen.This includes the /site and /siteextensions folders that are copied from the content store, as well as any locally created logs and data folders. Als u wilt deze limiet wilt verhogen, gebruikt u de app-instelling WEBSITE_LOCAL_CACHE_SIZEINMB.To increase this limit, use the app setting WEBSITE_LOCAL_CACHE_SIZEINMB. U kunt de grootte tot vergroten 2 GB (2000 MB) per web-app.You can increase the size up to 2 GB (2000 MB) per web app.

Aanbevolen procedures voor het gebruik van lokale Cache van App ServiceBest practices for using App Service Local Cache

Het is raadzaam dat u de lokale Cache in combinatie met gebruiken de Faseringsomgevingen functie.We recommend that you use Local Cache in conjunction with the Staging Environments feature.

  • Voeg de sticky app-instelling WEBSITE_LOCAL_CACHE_OPTION met de waarde Always aan uw productie sleuf.Add the sticky app setting WEBSITE_LOCAL_CACHE_OPTION with the value Always to your Production slot. Als u WEBSITE_LOCAL_CACHE_SIZEINMB, ook toevoegen als een sticky instelling naar de productiesite.If you're using WEBSITE_LOCAL_CACHE_SIZEINMB, also add it as a sticky setting to your Production slot.
  • Maak een fasering sleuf en publiceren naar de Staging-site.Create a Staging slot and publish to your Staging slot. Stelt u de staging-site naar de lokale Cache gebruiken voor het inschakelen van de levenscyclus van een naadloze build-implementeren-test voor staging-als u de voordelen van de lokale Cache voor de productiesite meestal niet.You typically don't set the staging slot to use Local Cache to enable a seamless build-deploy-test lifecycle for staging if you get the benefits of Local Cache for the production slot.
  • Test uw site op basis van de Staging-site.Test your site against your Staging slot.
  • Wanneer u klaar bent, een wisselen sleuven tussen uw fasering en productie.When you are ready, issue a swap operation between your Staging and Production slots.
  • Sticky instellingen omvatten de naam en het vergrendelde aan een site.Sticky settings include name and sticky to a slot. Dus wanneer de Staging-site als ze in productie komen opgehaald, neemt de instellingen voor de lokale Cache-app.So when the Staging slot gets swapped into Production, it inherits the Local Cache app settings. De zojuist verwisseld productiesite na een paar minuten wordt uitgevoerd op de lokale cache en wordt opgewarmd als onderdeel van sleuf opwarmtijd na wisselen.The newly swapped Production slot will run against the local cache after a few minutes and will be warmed up as part of slot warmup after swap. Dus als de wisseling van sleuven voltooid is, wordt uw productiesite uitgevoerd op basis van de lokale cache.So when the slot swap is complete, your Production slot is running against the local cache.

Veelgestelde vragenFrequently asked questions (FAQ)

Hoe kan ik zien als een lokale Cache van toepassing op mijn web-app?How can I tell if Local Cache applies to my web app?

Als uw web-app een krachtige, betrouwbare inhoudsarchief moet, niet de store voor inhoud gebruikt voor het schrijven van kritieke gegevens tijdens runtime en minder dan 2 GB in de totale grootte is, klikt u vervolgens is het antwoord "Ja".If your web app needs a high-performance, reliable content store, does not use the content store to write critical data at runtime, and is less than 2 GB in total size, then the answer is "yes"! Als u de totale grootte van de mappen KCC/site en /siteextensions, kunt u de site-extensie "Azure Web Apps schijfgebruik."To get the total size of your /site and /siteextensions folders, you can use the site extension "Azure Web Apps Disk Usage."

Hoe kan ik zien als Mijn site is overgeschakeld naar het gebruik van lokale Cache?How can I tell if my site has switched to using Local Cache?

Als u de lokale Cache-functie met Faseringsomgevingen, wordt de wisselbewerking niet voltooien totdat de lokale Cache is opgewarmd.If you're using the Local Cache feature with Staging Environments, the swap operation does not complete until Local Cache is warmed up. Als u wilt controleren of uw site wordt uitgevoerd op basis van de lokale Cache, kunt u de omgevingsvariabele voor worker-proces controleren WEBSITE_LOCALCACHE_READY.To check if your site is running against Local Cache, you can check the worker process environment variable WEBSITE_LOCALCACHE_READY. Volg de instructies op de worker proces omgevingsvariabele pagina voor toegang tot de worker-proces omgevingsvariabele op meerdere exemplaren.Use the instructions on the worker process environment variable page to access the worker process environment variable on multiple instances.

Ik heb nieuwe wijzigingen hebt gepubliceerd, maar mijn web-app lijkt niet te laat.I just published new changes, but my web app does not seem to have them. Hoe komt dat?Why?

Als uw web-app maakt gebruik van lokale Cache, moet u uw site als u de meest recente wijzigingen opnieuw gestart.If your web app uses Local Cache, then you need to restart your site to get the latest changes. Wilt u zich geen wijzigingen aan een productiesite publiceren?Don’t want to publish changes to a production site? Zie de sleuf opties in de vorige sectie met best practices.See the slot options in the previous best practices section.

Waar zijn mijn Logboeken?Where are my logs?

Met de lokale Cache uw logboeken en gegevensmappen zien er enigszins anders.With Local Cache, your logs and data folders do look a little different. De structuur van uw submappen blijft echter hetzelfde, behalve dat de submappen onder een submap met de indeling 'de unieke id van VM-' + tijdstempel zijn surfen.However, the structure of your subfolders remains the same, except that the subfolders are nestled under a subfolder with the format "unique VM identifier" + time stamp.

Ik heb lokale Cache ingeschakeld, maar nog steeds mijn web-app wordt gestart.I have Local Cache enabled, but my web app still gets restarted. Waarom is dit?Why is that? Ik beschouwd in dat lokale Cache geholpen met regelmatige app opnieuw wordt opgestart.I thought Local Cache helped with frequent app restarts.

Lokale Cache helpt bij het voorkomen van opslag met betrekking tot web-app wordt opnieuw opgestart.Local Cache does help prevent storage-related web app restarts. Uw web-app kan echter nog steeds opnieuw wordt opgestart ondergaan tijdens geplande infrastructuur upgrades van de virtuele machine.However, your web app could still undergo restarts during planned infrastructure upgrades of the VM. De algemene app opnieuw wordt opgestart die zich met lokale Cache ingeschakeld voordoen moet minder zijn.The overall app restarts that you experience with Local Cache enabled should be fewer.

Lokale Cache alle mappen uitsluiten wordt gekopieerd naar het lokale station snellerDoes Local Cache exclude any directories from being copied to the faster local drive?

Als onderdeel van de stap waarmee de inhoud van de opslag worden gekopieerd, is een map met de naam opslagplaats uitgesloten.As part of the step that copies the storage content, any folder that is named repository is excluded. Dit helpt bij de scenario's waarbij de inhoud van uw site een opslagplaats voor bronbeheer die niet nodig in werking van dag tot dag van de web-app is kan bevatten.This helps with scenarios where your site content may contain a source control repository that may not be needed in day to day operation of the web app.