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-reservedvan fenntartva. További 10% a számára maxfragmentationmemory-reservedvan 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ánya maxmemory-reserved a 10% és 60% között maxmemorylehet. 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ánya maxfragmentationmemory-reserved a 10% és 60% között maxmemorylehet. 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 vagy maxfragmentationmemory-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ális used_memory vagy az ön used_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ő nem used_memoryused_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 a used_memoryused_memory_rssgyorsí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-reservedmaxfragmentationmemory-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.

Következő lépések