Memóriakezelés
Kiürítési szabályzat
Válasszon ki egy, az alkalmazáshoz megfelelő kiürítési szabályzatot . A Azure Cache for Redis alapértelmezett szabályzata a volatile-lru
, ami azt jelenti, hogy csak azok a kulcsok jogosultak kizárásra, amelyek TTL-értékének beállítása a EXPIRE paranccsal történik. Ha egyetlen kulcs sem rendelkezik TTL-értékkel, akkor a rendszer nem fog kulcsokat kiüríteni. Ha azt szeretné, hogy a rendszer memóriaterhelés esetén lehetővé tegye a kulcsok kizárását, érdemes lehet megfontolni a allkeys-lru
szabályzatot.
Kulcsok lejárata
Állítson be lejárati értéket a kulcsokon. A lejárat proaktív módon távolítja el a kulcsokat ahelyett, hogy megvárja a memóriaterhelést. Ha a kiürítés memóriaterhelés miatt történik, az nagyobb terhelést okozhat a kiszolgálón. További információt a EXPIRE és a EXPIREAT parancs dokumentációjában talál.
Memóriatöredezettség minimalizálása
A nagy értékek miatt a memória töredezett maradhat a kiürítéskor, ami magas memóriahasználathoz és kiszolgálóterheléshez vezethet.
Memóriahasználat monitorozása
A memóriahasználat figyelésével biztosíthatja, hogy ne fogyjon el a memória, és a problémák észlelése előtt skálázhatja a gyorsítótárat.
A maxmemory-reserved beállítás konfigurálása
Konfigurálja a maxmemory-reserved beállítást a rendszer válaszkészségének javítása érdekében:
A megfelelő foglalási beállítás különösen fontos a nagy írási terhelésű számítási feladatok esetében, vagy ha 100 KB vagy több értéket tárol a gyorsítótárban. A gyorsítótár létrehozásakor alapértelmezés szerint a rendelkezésre álló memória körülbelül 10%-a a számára
maxmemory-reserved
van fenntartva. További 10% a számáramaxfragmentationmemory-reserved
van fenntartva. Ha nagy írási terheléssel rendelkezik, növelheti a fenntartott mennyiséget.A
maxmemory-reserved
beállítás konfigurálja a fürt példányonkénti MB-ban megadott memóriamennyiségét, amely nem gyorsítótárazási műveletekhez, például a feladatátvétel során történő replikációhoz van fenntartva. Az érték beállítása konzisztensebbé teszi a Redis-kiszolgáló működését, ha a terhelés mennyisége változó. A nagy mennyiségű adatot író számítási feladatok esetén nagyobb értéket kell beállítani. Ha a memória ezekhez a műveletekhez van lefoglalva, a gyorsítótárazott adatok tárolásához nem használható fel. A megengedett tartományamaxmemory-reserved
a 10% és 60% közöttmaxmemory
lehet. Ha ezeket az értékeket 10%-nál kisebb vagy 60%-nál magasabb értékre próbálja beállítani, a rendszer újra kiértékeli őket, és a 10%-os minimumra és a maximum 60%-ra állítja őket. Az értékek megabájtban jelennek meg.A
maxfragmentationmemory-reserved
beállítás konfigurálja a fürt példányonkénti MB memóriamennyiségét, amely a memória töredezettségének fogadására van fenntartva. Ha ezt az értéket állítja be, a Redis-kiszolgáló élménye konzisztensebb lesz, ha a gyorsítótár megtelt vagy majdnem megtelt, és a töredezettség aránya magas. Ha a memória ezekhez a műveletekhez van lefoglalva, a gyorsítótárazott adatok tárolásához nem használható fel. A megengedett tartományamaxfragmentationmemory-reserved
a 10% és 60% közöttmaxmemory
lehet. Ha ezeket az értékeket 10%-nál kisebb vagy 60%-nál magasabb értékre próbálja beállítani, a rendszer újra kiértékeli őket, és a 10%-os minimumra és a maximum 60%-ra állítja őket. Az értékek megabájtban jelennek meg.Az új memóriafoglalási érték (
maxmemory-reserved
vagymaxfragmentationmemory-reserved
) kiválasztásakor figyelembe kell venni, hogy ez a változás hogyan befolyásolhatja a már futó, nagy mennyiségű adatot tartalmazó gyorsítótárat. Ha például 53 GB-os gyorsítótára van 49 GB adattal, majd a foglalás értékét 8 GB-ra módosítja, a rendszer számára rendelkezésre álló maximális memória 45 GB-ra csökken. Ha az aktuálisused_memory
vagy az önused_memory_rss
értékei magasabbak az új 45 GB-os korlátnál, akkor a rendszernek mindaddig ki kell kiürítenie az adatokat, amíg a kettő nemused_memory
used_memory_rss
éri el a 45 GB-ot. A kiürítés növelheti a kiszolgáló terhelését és a memória töredezettségét. A és aused_memory
used_memory_rss
gyorsítótár-metrikákkal kapcsolatos további információkért lásd : Saját metrikák létrehozása.
Megjegyzés
Amikor fel- vagy leskáláz egy gyorsítótárat, a és maxfragmentationmemory-reserved
a beállítások is maxmemory-reserved
automatikusan a gyorsítótár méretének arányában skálázhatók. Ha például maxmemory-reserved
3 GB-ra van állítva egy 6 GB-os gyorsítótáron, és 12 GB-os gyorsítótárra skáláz, a beállítások automatikusan 6 GB-ra frissülnek a skálázás során. A vertikális leskálázás esetén ennek fordítottja történik.
Amikor programozott módon skáláz fel vagy le egy gyorsítótárat a PowerShell, a CLI vagy a Rest API használatával, a rendszer a frissítési kérés részeként figyelmen kívül hagyja a gyorsítótárat maxmemory-reserved
maxfragmentationmemory-reserved
. A rendszer csak a méretezési módosításokat veszi figyelembe. Ezeket a memóriabeállításokat a skálázási művelet befejezése után frissítheti.