Memóriakezelés
Kiürítési szabályzat
Válasszon kilakoltatási szabályzatot , amely az alkalmazáshoz használható. Az Azure Cache for Redis alapértelmezett szabályzata az volatile-lru
, ami azt jelenti, hogy csak azok a kulcsok jogosultak a kizárásra, amelyek TTL-értékének beállítása olyan paranccsal történik, mint a EXPIRE . 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 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, amíg nincs memóriaterhelés. 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ókért tekintse meg a EXPIRE és a EXPIREAT parancs dokumentációját.
Memóriatöredezettség minimalizálása
A nagy értékek kilakoltatáskor töredezett memóriát hagyhatnak, és magas memóriahasználathoz és kiszolgálóbetöltéshez vezethetnek.
Memóriahasználat figyelése
A memóriahasználat figyelésével gondoskodhat arról, hogy ne fogyjon el a memória, és a problémák előtt skálázhatja a gyorsítótárat.
A maxmemory-reserved beállítás konfigurálása
Konfigurálja a maximálisan fenntartott 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 az írási terhelésű számítási feladatok esetében, vagy ha legalább 100 KB-os értékeket tárol a gyorsítótárban. Gyorsítótár létrehozásakor alapértelmezés szerint a rendelkezésre álló memória körülbelül 10%-a van lefoglalva
maxmemory-reserved
. További 10% van fenntartva .maxfragmentationmemory-reserved
Ha írási terheléssel rendelkezik, növelheti a fenntartott összeget.A
maxmemory-reserved
beállítás konfigurálja a fürt példányonkénti MB-jában lévő memória mennyisé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. Az engedélyezett tartománymaxmemory-reserved
10% és 60% között lehetmaxmemory
. 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 maximális 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-jában lévő memória mennyisé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, ha a gyorsítótár megtelt vagy közel van a teljeshez, é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. Az engedélyezett tartománymaxfragmentationmemory-reserved
10% és 60% között lehetmaxmemory
. 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 maximális 60%-ra állítja őket. Az értékek megabájtban jelennek meg.Egy ú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-os adatokkal, majd a foglalás értékét 8 GB-ra módosítja, a rendszer számára elérhető maximális memória 45 GB-ra csökken. Ha az aktuálisused_memory
vagy azused_memory_rss
ön értékei magasabbak az új 45 GB-os korlátnál, akkor a rendszernek mindaddig ki kell laktatnia az adatokat, amíg mindkettőused_memory
used_memory_rss
nem é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. Az olyan gyorsítótármetrikákkal kapcsolatos további információkért, mint példáulused_memory
a sajátused_memory_rss
metrikák létrehozása, lásd : Saját metrikák létrehozása.
Feljegyzés
Ha felfelé vagy lefelé skáláz egy gyorsítótárat, a beállítások és maxfragmentationmemory-reserved
a maxmemory-reserved
beállítások automatikusan a gyorsítótár méretének arányában skálázódnak. 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 a méretezés során automatikusan 6 GB-ra frissülnek. Ha leskáláz, a 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 frissítési kérés részeként bármelyiket maxmemory-reserved
maxfragmentationmemory-reserved
figyelmen kívül hagyja. Csak a skálázási módosítást tartja tiszteletben. Ezeket a memóriabeállításokat a skálázási művelet befejezése után frissítheti.