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
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ékkelAlways
az éles ponthoz. Ha használjaWEBSITE_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.