Řešení potíží se servery služby Azure Cache for Redis
Tato část popisuje řešení potíží způsobených podmínkami na Azure Cache for Redis serveru nebo na virtuálních počítačích, které ho hostují.
- Vysoké zatížení serveru
- Vysoké využití paměti
- Dlouhotrvající příkazy
- Omezení šířky pásma na straně serveru
Poznámka
Několik kroků pro řešení potíží v této příručce obsahuje pokyny ke spouštění příkazů Redis a monitorování různých metrik výkonu. Další informace a pokyny najdete v článcích v části Další informace .
Vysoké zatížení serveru
Vysoké zatížení serveru znamená, že je server Redis zaneprázdněný a nedokáže držet krok s požadavky, což vede k vypršení časových limitů. Zkontrolujte metriku Server Load (Zatížení serveru ) ve vaší mezipaměti tak, že v nabídce Prostředek na levé straně vyberete Monitorování . V pracovním podokně v části Přehledy se zobrazí graf Zatížení serveru. Nebo přidejte sadu metrik do části Zatížení serveru v části Metriky.
Následuje několik možností, které je potřeba zvážit při vysokém zatížení serveru.
Vertikální navýšení nebo horizontální navýšení kapacity
Horizontálně navyšte kapacitu a přidejte další horizontální oddíly, aby se zatížení distribuovala napříč několika procesy Redis. Zvažte také vertikální navýšení kapacity na větší velikost mezipaměti s více jádry procesoru. Další informace najdete v nejčastějších dotazech k plánování Azure Cache for Redis.
Rychlé změny počtu připojení klientů
Další informace najdete v tématu Zabránění špičkám připojení klienta.
Dlouhotrvající nebo nákladné příkazy
Tento oddíl byl přesunut. Další informace najdete v tématu Dlouhotrvající příkazy.
Škálování
Operace škálování jsou náročné na procesor a paměť, protože by mohly zahrnovat přesun dat po uzlech a změnu topologie clusteru. Další informace najdete v tématu Škálování.
Údržba serveru
Pokud u vašeho Azure Cache for Redis došlo k převzetí služeb při selhání, všechna klientská připojení z uzlu, který byl mimo provoz, se přenesou do uzlu, který je stále spuštěný. Kvůli zvýšenému počtu připojení může dojít k prudkému nárůstu zatížení serveru. Můžete zkusit restartovat klientské aplikace, aby se všechna klientská připojení znovu vytvořila a redistribuovala mezi dvěma uzly.
Vysoké využití paměti
Zatížení paměti na serveru může vést k různým problémům s výkonem, které zpožďují zpracování požadavků. Když dojde k zatížení paměti, systém stránkuje data na disk, což způsobí výrazné zpomalení systému.
Tady je několik možných příčin zatížení paměti:
- Mezipaměť se naplní daty blížícími se své maximální kapacitě.
- U serveru Redis dochází k vysoké fragmentaci paměti
K fragmentaci pravděpodobně dochází, když vzor zatížení ukládá data s velkou proměnlivostí velikosti. K fragmentaci může například dojít, když jsou data rozložená do velikosti 1 kB a 1 MB. Při odstranění klíče o velikosti 1 kB z existující paměti se do něj nemůže vejít klíč o velikosti 1 MB, což způsobuje fragmentaci. Podobně platí, že pokud se odstraní 1 MB klíč a přidá se klíč 1,5 MB, nevejde se do stávající uvolněné paměti. To způsobuje nevyužitou volnou paměť a vede k větší fragmentaci.
used_memory_rss
Pokud je hodnota vyšší než 1,5násobek used_memory
metriky, dojde k fragmentaci paměti. Fragmentace může způsobit problémy v následujících případech:
- Využití paměti se blíží maximálnímu limitu paměti pro mezipaměť nebo
UsedMemory_RSS
je vyšší než limit maximální paměti, což může mít za následek selhání stránky v paměti.
Pokud je mezipaměť fragmentovaná a běží pod vysokým zatížením paměti, systém provede převzetí služeb při selhání a pokusí se obnovit paměť RSS (Resident Set Size).
Redis prostřednictvím příkazu INFO zveřejňuje dvě statistiky used_memory
a used_memory_rss
, které vám můžou pomoct identifikovat tento problém. Tyto metriky můžete zobrazit pomocí portálu.
Ověřte, že maxmemory-reserved
jsou hodnoty a maxfragmentationmemory-reserved
správně nastavené.
Pokud chcete pomoct zajistit, aby využití paměti bylo v pořádku, můžete provést několik změn:
- Nakonfigurujte zásady paměti a nastavte časy vypršení platnosti klíčů. Pokud dochází k fragmentaci, tyto zásady nemusí být dostatečné.
- Nakonfigurujte hodnotu maxmemory-reserved , která je dostatečně velká, aby kompenzuje fragmentaci paměti.
- Vytvořte upozornění na metriky, jako je metrika využité paměti, abyste včas dostávali upozornění na potenciální dopady.
- Škálování na větší velikost mezipaměti s větší kapacitou paměti Další informace najdete v nejčastějších dotazech k plánování Azure Cache for Redis.
Doporučení ke správě paměti najdete v tématu Osvědčené postupy pro správu paměti.
Dlouhotrvající příkazy
Tento oddíl byl přesunut. Další informace najdete v tématu Dlouhotrvající příkazy.
Omezení šířky pásma na straně serveru
Tento oddíl byl přesunut. Další informace najdete v tématu Omezení šířky pásma sítě.