Azure-alkalmazás szolgáltatás helyi gyorsítótárának áttekintése

Megjegyzés:

A helyi gyorsítótár nem támogatott a függvényalkalmazásokban és a tárolóalapú App Service-alkalmazásokban, például a Windows-tárolókban vagy a Linux App Service-ben. Az ilyen alkalmazástípusokhoz elérhető helyi gyorsítótár verziója az App Cache.

Azure-alkalmazás szolgáltatástartalmak az Azure Storage-ban tárolódnak, és tartalommegosztásként tartósan kerülnek felszínre. Ez a kialakítás számos alkalmazással használható, és az alábbi attribútumokkal rendelkezik:

  • A tartalom meg van osztva az alkalmazás több virtuálisgép-példányán.
  • A tartalom tartós, és alkalmazások futtatásával módosítható.
  • A naplófájlok és a diagnosztikai adatfájlok ugyanabban a megosztott tartalommappában érhetők el.
  • Az új tartalom közzététele közvetlenül frissíti a tartalommappát. Ugyanazt a tartalmat azonnal megtekintheti az SCM webhelyén és a futó alkalmazásban (általában egyes technológiák, például ASP.NET kezdeményezik az alkalmazás újraindítását bizonyos fájlmódosítások esetén a legújabb tartalom lekéréséhez).

Bár sok alkalmazás használja ezeket a funkciókat, egyes alkalmazásoknak csak nagy teljesítményű, írásvédett tartalomtárra van szükségük, amely magas rendelkezésre állással futtatható. Ezek az alkalmazások kihasználhatják egy adott helyi gyorsítótár virtuálisgép-példányát.

A Azure-alkalmazás Szolgáltatás helyi gyorsítótár szolgáltatása webes szerepkör-nézetet biztosít a tartalomról. Ez a tartalom a tárolási tartalom írási, de elvetési gyorsítótára, amely aszinkron módon jön létre a helyszíni indításkor. Amikor a gyorsítótár készen áll, a webhely úgy lesz átváltva, hogy a gyorsítótárazott tartalomon fusson. A helyi gyorsítótárban futó alkalmazások az alábbi előnyökkel járnak:

  • Immunisak az Azure Storage-tartalmak elérésekor fellépő késésekre.
  • A tárhoz való kapcsolódási problémák nem érintik őket, mivel az írásvédett példány gyorsítótárazva van a feldolgozón.
  • Kevesebb alkalmazás-újraindítást hajtanak végre a tármegosztás változásai miatt.

Megjegyzés:

Ha Javát (Java Standard kiadás, Tomcat vagy JBoss EAP) használ, akkor alapértelmezés szerint a Java-összetevők--.jar-, .war- és .ear-fájlok helyileg lesznek átmásolva a feldolgozóba. Ha a Java-alkalmazás más fájlok írásvédett hozzáférésétől is függ, állítsa be JAVA_COPY_ALL , hogy true ezek a fájlok is másolhatók legyenek. Ha a Helyi gyorsítótár engedélyezve van, elsőbbséget élvez ezzel a Java-specifikus fejlesztéssel szemben.

Az App Service viselkedésének módosítása a helyi gyorsítótárban

  • A D:\home a helyi gyorsítótárra mutat, amely az alkalmazás indításakor jön létre a virtuálisgép-példányon. A D:\local továbbra is az ideiglenes virtuálisgép-specifikus tárolóra mutat.
  • A helyi gyorsítótár a megosztott tartalomtároló /site és /siteextensions mappáinak egyszeri példányát tartalmazza a D:\home\site és a D:\home\siteextensions címen. A fájlokat a rendszer az alkalmazás indításakor a helyi gyorsítótárba másolja. Az egyes alkalmazásokhoz tartozó két mappa mérete alapértelmezés szerint 1 GB, de 2 GB-ra növelhető. Vegye figyelembe, hogy a gyorsítótár méretének növekedésével a gyorsítótár betöltése hosszabb időt vesz igénybe. Ha a helyi gyorsítótár korlátját 2 GB-ra növelte, és a másolt fájlok mérete meghaladja a 2 GB-ot, az App Service csendben figyelmen kívül hagyja a helyi gyorsítótárat, és a távoli fájlmegosztásból olvas.

Fontos

Ha a másolt fájlok túllépik a helyi gyorsítótár megadott méretkorlátját, vagy ha nincs megadva korlát, az üzembe helyezési és a felcserélési műveletek hiba miatt meghiúsulhatnak. További információért tekintse meg a gyakori kérdéseket .

  • A helyi gyorsítótár írás-olvasás. A módosításokat azonban a rendszer elveti, amikor az alkalmazás áthelyezi a virtuális gépeket, vagy újraindul. Ne használja a helyi gyorsítótárat olyan alkalmazásokhoz, amelyek kritikus fontosságú adatokat tárolnak a tartalomtárban.
  • D:\home\LogFiles és D:\home\Az adatok naplófájlokat és alkalmazásadatokat tartalmaznak. A két almappát a rendszer helyileg tárolja a virtuálisgép-példányon, és rendszeresen átmásolja őket a megosztott tartalomtárolóba. Az alkalmazások ezekbe a mappákba írva megőrizhetik a naplófájlokat és az adatokat. A megosztott tartalomtárba való másolás azonban a legjobb megoldás, ezért előfordulhat, hogy a naplófájlok és az adatok elvesznek egy virtuálisgép-példány hirtelen összeomlása miatt.
  • A naplóstreamelést a legjobb munkamennyiségű másolat befolyásolja. A streamelt naplókban akár egy perces késést is megfigyelhet.
  • A megosztott tartalomtárban megváltozik a LogFiles és az Adatok mappaszerkezete a helyi gyorsítótárat használó alkalmazások esetében. Most már vannak bennük almappák, amelyek az "egyedi azonosító" + időbélyeg elnevezési mintáját követik. Az egyes almappák egy virtuálisgép-példánynak felelnek meg, ahol az alkalmazás fut vagy fut.
  • A D:\home más mappái a helyi gyorsítótárban maradnak, és nem lesznek átmásolva a megosztott tartalomtárolóba.
  • Az alkalmazások bármely támogatott módszeren keresztül történő üzembe helyezése közvetlenül a tartós megosztott tartalomtárban jelenik meg. A D:\home\site és a D:\home\siteextensions mappák helyi gyorsítótárban való frissítéséhez újra kell indítani az alkalmazást. Az életciklus zökkenőmentessé tételéhez tekintse meg a cikk későbbi részében található információkat.
  • Az SCM-webhely alapértelmezett tartalomnézete továbbra is a megosztott tartalomtáré.

Helyi gyorsítótár engedélyezése az App Service-ben

Megjegyzés:

A helyi gyorsítótár nem támogatott az F1 vagy D1 szinten.

A helyi gyorsítótárat fenntartott alkalmazásbeállítások kombinációjával konfigurálhatja. Ezeket az alkalmazásbeállításokat az alábbi módszerekkel konfigurálhatja:

A Helyi gyorsítótár konfigurálása az Azure Portal használatával

Ezzel az alkalmazásbeállítással webalkalmazásonként engedélyezheti a helyi gyorsítótárat: WEBSITE_LOCAL_CACHE_OPTION = Always

Azure portal app settings: Local Cache

A helyi gyorsítótár konfigurálása az Azure Resource Manager használatával

...

{
    "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"
    }
}

...

A helyi gyorsítótár méretbeállításának módosítása

Alapértelmezés szerint a helyi gyorsítótár mérete 1 GB. Ide tartoznak a tartalomtárból másolt /site és /siteextensions mappák, valamint a helyileg létrehozott naplók és adatmappák. A korlát növeléséhez használja az alkalmazásbeállítást WEBSITE_LOCAL_CACHE_SIZEINMB. A méretet alkalmazásonként akár 2 GB-ra (2000 MB) is növelheti. Vegye figyelembe, hogy a méret növekedésével a helyi gyorsítótár betöltése hosszabb időt vesz igénybe.

Ajánlott eljárások az App Service helyi gyorsítótárának használatához

Javasoljuk, hogy a Helyi gyorsítótárat az átmeneti környezetek funkcióval együtt használja.

  • Adja hozzá a ragadós alkalmazásbeállítást WEBSITE_LOCAL_CACHE_OPTION az értékkel Always az éles ponthoz. Ha használja WEBSITE_LOCAL_CACHE_SIZEINMB, adja hozzá öntapadós beállításként is az éles ponthoz.
  • Hozzon létre egy átmeneti pontot, és tegye közzé az előkészítési ponton. Általában nem úgy állítja be az előkészítési pontot, hogy a Helyi gyorsítótár használatával zökkenőmentes build-üzembe helyezési-tesztelési életciklust biztosítson az előkészítéshez, ha az éles ponthoz a Helyi gyorsítótár előnyeit élvezi.
  • Tesztelje webhelyét az előkészítési ponton.
  • Ha készen áll, adjon ki egy felcserélési műveletet az előkészítési és az éles tárolóhelyek között.
  • A ragadós beállítások közé tartozik a név és a ponthoz való ragadás. Így amikor az előkészítési pont felcserélődik az éles környezetbe, örökli a Helyi gyorsítótár alkalmazás beállításait. Az újonnan felcserélt éles pont néhány perc múlva fut a helyi gyorsítótáron, és a felcserélés után a pontbemelegítés részeként felmelegedik. Így amikor a pontcserélés befejeződött, az éles pont a helyi gyorsítótáron fut.

Frequently asked questions (FAQ)

Mi történik, ha túllépi a helyi gyorsítótár méretkorlátját?

Ha a másolt fájlok túllépik a helyi gyorsítótár méretkorlátját, az alkalmazás a távoli megosztásból olvas be. Az üzembe helyezési és felcserélési műveletek azonban hiba miatt meghiúsulhatnak. A méretkorlátokat és az eredményeket az alábbi táblázatban találja.

 Helyi gyorsítótár mérete Átfedt fájlok Eredmény
≤ 2 GB ≤ helyi gyorsítótár mérete Olvasás a helyi gyorsítótárból.
≤ 2 GB > Helyi gyorsítótár mérete Olvasás távoli megosztásból.
Megjegyzés: Előfordulhat, hogy az üzembe helyezési és felcserélési műveletek hiba miatt meghiúsulnak.

Hogyan állapíthatom meg, hogy a Helyi gyorsítótár vonatkozik-e az alkalmazásomra?

Ha az alkalmazásnak nagy teljesítményű, megbízható tartalomtárolóra van szüksége, nem használja a tartalomtárat kritikus fontosságú adatok futásidőben történő írására, és teljes méretben kevesebb, mint 2 GB, akkor a válasz "igen"! A /site és /siteextensions mappák teljes méretének lekéréséhez használja az "Azure Web Apps Disk Usage" webhelybővítményt.

Hogyan állapíthatom meg, hogy a webhelyem helyi gyorsítótár használatára váltott-e?

Ha a Helyi gyorsítótár funkciót átmeneti környezetekkel használja, a felcserélési művelet addig nem fejeződik be, amíg a helyi gyorsítótár be nem melegedik. Ha ellenőrizni szeretné, hogy a webhely a Helyi gyorsítótárban fut-e, ellenőrizheti a feldolgozói folyamat környezeti változóját WEBSITE_LOCALCACHE_READY. A feldolgozói folyamat környezeti változójának lapján található utasítások segítségével több példányon is elérheti a feldolgozói folyamat környezeti változóit.

Most tettem közzé új módosításokat, de úgy tűnik, hogy az alkalmazásom nem rendelkezik velük. Miért?

Ha az alkalmazás helyi gyorsítótárat használ, akkor újra kell indítania a webhelyet a legújabb módosítások lekéréséhez. Nem szeretné közzétenni a módosításokat egy éles helyen? Tekintse meg a pontbeállításokat az előző ajánlott eljárások szakaszban.

Megjegyzés:

A csomagtelepítési beállítás futtatása nem kompatibilis a helyi gyorsítótárral.

Hol vannak a naplóim?

A Helyi gyorsítótár használatával a naplók és az adatmappák kissé másképp néznek ki. Az almappák szerkezete azonban változatlan marad, azzal a kivétellel, hogy az almappák egy "egyedi virtuálisgép-azonosító" + időbélyeg formátumú almappák alá vannak ágyazva.

Engedélyezve van a helyi gyorsítótár, de az alkalmazásom továbbra is újraindul. Miért? Azt hittem, a Local Cache segített a gyakori alkalmazás-újraindításokban.

A helyi gyorsítótár segít megakadályozni a tárolóval kapcsolatos alkalmazások újraindítását. Az alkalmazás azonban továbbra is újraindulhat a virtuális gép tervezett infrastruktúra-frissítései során. A helyi gyorsítótár engedélyezésével tapasztalt általános alkalmazás-újraindításoknak kevesebbnek kell lenniük.

Kizárja a helyi gyorsítótár a címtárak másolását a gyorsabb helyi meghajtóra?

A tártartalmat átmásolási lépés részeként a rendszer kizárja az adattárnak nevezett mappákat. Ez segít azokban az esetekben, amikor a webhely tartalma olyan forrásvezérlő adattárat tartalmazhat, amely nem feltétlenül szükséges az alkalmazás napi működéséhez.

Hogyan lehet kiüríteni a helyi gyorsítótár naplóit egy helykezelési művelet után?

A helyi gyorsítótár naplóinak kiürítéséhez állítsa le és indítsa újra az alkalmazást. Ez a művelet törli a régi gyorsítótárat.

Miért kezdi el az App Service a korábban üzembe helyezett fájlokat az újraindítás után, amikor a helyi gyorsítótár engedélyezve van?

Ha az App Service újraindítja a korábban telepített fájlokat, ellenőrizze az alkalmazásbeállítás jelenlétét – "WEBSITE_DISABLE_SCM_Standard kiadás PARATION=true". Miután hozzáadta ezt a beállítást, a KUDU-on keresztüli üzembe helyezések elkezdenek írni a helyi virtuális gépre az állandó tár helyett. A cikkben említett ajánlott eljárásokat érdemes használni, ahol az üzembe helyezéseket mindig az előkészítési ponton kell elvégezni, ahol nincs engedélyezve a helyi gyorsítótár.

További hasznos források

Környezeti változók és alkalmazásbeállítások referenciája