Az Azure Cache for Redis-kiszolgálóval kapcsolatos problémák elhárítása
Ez a szakasz egy Azure Cache for Redis-kiszolgálón vagy az azt futtató virtuális gépeken lévő feltételek által okozott hibaelhárítási problémákat ismerteti.
- Magas kiszolgálóterhelés
- Magas memóriahasználat
- Hosszú ideig futó parancsok
- Kiszolgálóoldali sávszélesség-korlátozás
Megjegyzé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 monitorozására 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ó terhelése gráf a munkaablakBan, az Elemzések területen jelenik meg. Vagy adjon hozzá egy metrikakészletet a Kiszolgáló terhelése beállításhoz a Metrikák területen.
Az alábbiakban néhány olyan lehetőséget talál, amelyeket érdemes megfontolni a magas kiszolgálóterheléshez.
Vertikális fel- vagy felskálázás
Horizontális felskálázás további szegmensek hozzáadásához, hogy a terhelés több Redis-folyamat között legyen elosztva. Érdemes lehet nagyobb gyorsítótárméretre felskálázást is alkalmazni több processzormaggal. További információ: Azure Cache for Redis tervezéssel kapcsolatos 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 a Azure Cache for Redis feladatátvételen esett át, a lement csomópont összes ügyfélkapcsolata átkerül a még futó csomópontra. A megnövekedett kapcsolatok miatt a kiszolgáló terhelése 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óriaterhelésnek:
- A gyorsítótár tele van a maximális kapacitáshoz közeli adatokkal
- A Redis-kiszolgáló magas memóriatöredezettséget tapasztal
A töredezettség valószínűleg akkor fordul elő, ha egy terhelési minta nagy méretű adatokat tárol. 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éget okoz. 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ő felszabadított memóriába. Ez nem használt szabad memóriát okoz, és nagyobb töredezettséget eredményez.
Ha az érték meghaladja a used_memory_rss
metrika 1,5-szeresét used_memory
, töredezettség tapasztalható a memóriában. 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 egy gyorsítótár töredezett, és nagy memóriaterhelés alatt fut, a rendszer feladatátvételt végez a rezidenskészlet-memória (RSS) helyreállításának megkísérléséhez.
A Redis az INFO paranccsal két statisztikát tesz used_memory_rss
elérhetővé, used_memory
amelyek segíthetnek a probléma azonosításában. Ezeket a metrikákat a portálon tekintheti meg.
Ellenőrizze, hogy a és maxfragmentationmemory-reserved
az maxmemory-reserved
érték helyesen van-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 maxmemory-reserved é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 tervezéssel kapcsolatos gyakori kérdések.
A memóriakezeléssel kapcsolatos javaslatokért lásd: Ajánlott eljárások a memóriakezeléshez.
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.