Az Azure Cache for Redis-kiszolgálóval kapcsolatos problémák elhárítása
Ez a szakasz az Azure Cache for Redis-kiszolgálón vagy az azt futtató virtuális gépeken fellépő feltételek által okozott hibaelhárítási problémákat ismerteti.
- Magas kiszolgálóbetöltés
- Magas memóriahasználat
- Hosszú ideig futó parancsok
- Kiszolgálóoldali sávszélesség-korlátozás
Feljegyzés
Az útmutató számos hibaelhárítási lépése tartalmazza a Redis-parancsok futtatására és a különböző teljesítménymetrikák figyelésére vonatkozó utasításokat. További információkért és utasításokért tekintse meg a További információk szakaszban található cikkeket.
Magas kiszolgálóterhelés
A kiszolgáló nagy terhelése arra utal, hogy a Redis Server elfoglalt, és nem tud lépést tartani a kérésekkel, ez pedig időtúllépésekhez vezet. Ellenőrizze a kiszolgáló terhelési metrikáját a gyorsítótárban a bal oldali Erőforrás menü Figyelés elemének kiválasztásával. A Kiszolgálóbetöltés gráf a munkaablakban, az Elemzések területen jelenik meg. Vagy adjon hozzá egy metrikakészletet a Kiszolgálói terheléshez a Metrikák területen.
Az alábbiakban néhány lehetőséget érdemes figyelembe venni a kiszolgáló magas terhelése esetén.
Vertikális felskálázás vagy vertikális felskálázás
Horizontális felskálázás további szegmensek hozzáadásához, így a terhelés több Redis-folyamat között oszlik el. Emellett érdemes lehet nagyobb gyorsítótárméretre méretezve több processzormaggal. További információ: Azure Cache for Redis – gyakori kérdések.
Az ügyfélkapcsolatok számának gyors változásai
További információ: Ügyfélkapcsolati csúcsok elkerülése.
Hosszú ideig futó vagy költséges parancsok
Ezt a szakaszt áthelyezték. További információ: Hosszú ideig futó parancsok.
Méretezés
A skálázási műveletek processzor- és memóriaigényesek, mivel ez magában foglalhatja az adatok csomópontok körüli áthelyezését és a fürt topológiájának módosítását. További információ: Skálázás.
Kiszolgáló karbantartása
Ha az Azure Cache for Redis feladatátvételen esett át, a lementett csomópont összes ügyfélkapcsolata átkerül a még futó csomópontra. A kiszolgáló terhelése a megnövekedett kapcsolatok miatt megnőhet. Megpróbálhatja újraindítani az ügyfélalkalmazásokat, hogy az összes ügyfélkapcsolat újra létrejönjön, és újra elosztható legyen a két csomópont között.
Magas memóriahasználat
A kiszolgáló memóriaterhelése különböző teljesítményproblémákhoz vezethet, amelyek késleltetik a kérések feldolgozását. Amikor a memória terhelése megnő, a rendszer lemezre lapozza az adatokat, ami jelentősen lassítja a rendszert.
Íme néhány lehetséges oka a memória nyomásának:
- A gyorsítótár tele van a maximális kapacitáshoz közeli adatokkal
- A Redis-kiszolgáló nagy memóriatöredezettségben van
A töredezettség valószínűleg akkor fordulhat elő, ha egy terhelési minta nagy méretű adatokat tárol. A töredezettség például akkor fordulhat elő, ha az adatok 1 KB és 1 MB méretűek. Ha egy 1 KB-os kulcsot törölnek a meglévő memóriából, az 1 MB-os kulcs nem fér bele, ami töredezettséghez vezet. Hasonlóképpen, ha az 1 MB-os kulcsot törlik, és 1,5 MB-os kulcsot adnak hozzá, az nem fér el a meglévő visszanyert memóriába. Ez nem használt szabad memóriát okoz, és nagyobb töredezettséget eredményez.
Ha az used_memory_rss
érték a metrika 1,5-szörösénél used_memory
nagyobb, a memóriában töredezettség tapasztalható. A töredezettség problémákat okozhat, ha:
- A memóriahasználat megközelíti a gyorsítótár maximális memóriakorlátját, vagy
UsedMemory_RSS
nagyobb, mint a maximális memóriakorlát, ami laphibát okozhat a memóriában.
Ha a gyorsítótár töredezett, és nagy memóriaterhelés alatt fut, a rendszer feladatátvételt végez a resident set size (RSS) memória helyreállításának megkísérléséhez.
A Redis két statisztikát tesz elérhetővé, used_memory
és used_memory_rss
az INFO paranccsal, amely segíthet a probléma azonosításában. Ezeket a metrikákat a portálon tekintheti meg.
Ellenőrizze, hogy az és maxfragmentationmemory-reserved
az maxmemory-reserved
értékek megfelelően vannak-e beállítva.
Számos különféle módosítást végezhet, hogy a memóriahasználat megfelelő maradjon:
- Állítson be egy memóriaszabályzatot , és állítsa be a kulcsok lejárati idejét. Töredezettség esetén előfordulhat, hogy ez a szabályzat nem lesz elegendő.
- Konfiguráljon egy olyan maxmemory-fenntartott értéket , amely elég nagy a memória töredezettségének kompenzálásához.
- Hozzon létre riasztásokat olyan metrikákhoz, mint a felhasznált memória mennyisége, így hamar értesülhet a lehetséges hatásokról.
- Skálázás nagyobb gyorsítótárméretre több memóriakapacitással. További információ: Azure Cache for Redis – gyakori kérdések.
A memóriakezeléssel kapcsolatos javaslatokért tekintse meg a memóriakezelés ajánlott eljárásait.
Hosszú ideig futó parancsok
Ezt a szakaszt áthelyezték. További információ: Hosszú ideig futó parancsok.
Kiszolgálóoldali sávszélesség-korlátozás
Ezt a szakaszt áthelyezték. További információ: Hálózati sávszélesség korlátozása.