Řešení potíží se službou Azure Cache for Redis na straně serveru
Tato část popisuje problémy, ke kterým dochází z důvodu podmínky v mezipaměti Azure pro Redis nebo virtuálních počítačů, které ji hostují.
- Zatížení paměti na serveru Redis
- Vysoké využití procesoru nebo zatížení serveru
- 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 .
Zatížení paměti na serveru Redis
Tlak paměti na straně serveru vede ke všem druhům problémů s výkonem, které mohou zpozdit zpracování požadavků. Když dojde k zatížení paměti, systém může data stránkovat na disk. Při této chybě stránky dojde k výraznému zpomalení systému. Existuje několik možných příčin tohoto zatížení paměti:
- Zaplnění mezipaměti daty se blíží její maximální kapacitě.
- U Redis dochází k vysoké úrovni fragmentace paměti. Tato fragmentace je nejčastěji způsobena ukládáním velkých objektů, protože Redis je optimalizován pro malé objekty.
Redis zpřístupňuje dvě statistiky prostřednictvím příkazu info , který vám může přispět k identifikaci tohoto problému: "used_memory" a "used_memory_rss". Tyto metriky můžete zobrazit pomocí portálu.
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 vašich klíčů. Pokud dochází k fragmentaci, tyto zásady nemusí být dostatečné.
- Nakonfigurujte maxmemory vyhrazenou hodnotu , která je dostatečně velká, aby bylo možné kompenzovat fragmentaci paměti.
- Rozdělte velké objekty uložené v mezipaměti na menší související objekty.
- 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álovat na větší velikost mezipaměti s větší kapacitou paměti.
- Škálovat na větší velikost mezipaměti s větší kapacitou paměti. Další informace najdete v tématu Nejčastější dotazy k plánování služby Azure cache pro Redis.
Vysoké využití procesoru nebo zatížení serveru
Vysoké zatížení serveru nebo využití procesoru znamená, že server nemůže včas zpracovávat žádosti. Server může reagovat na pomalejší a nemůže zachovávat sazby za žádosti.
Monitorujte metriky , jako je například zatížení procesoru nebo serveru. Sledujte špičky využití procesoru, které odpovídají časovým limitům.
Pro zmírnění vysokého zatížení serveru můžete provést několik změn:
- Prozkoumejte, co způsobuje špičky procesoru, jako jsou například dlouhotrvající příkazy , které jsou uvedeny níže, nebo chyby stránky kvůli vysokému zatížení paměti.
- Vytvářejte upozornění na metriky, jako je například zatížení procesoru nebo serveru, abyste byli včas informováni o možných dopadech.
- Nahorizontální navýšení kapacity na více horizontálních oddílů pro distribuci zátěže napříč několika procesy Redis nebo horizontální navýšení kapacity na větší velikost mezipaměti s větším MNOŽSTVÍm procesorových jader. Další informace najdete v tématu Nejčastější dotazy k plánování služby Azure cache pro Redis.
Dlouhotrvající příkazy
Některé příkazy Redis jsou náročnější na spuštění než jiné. V dokumentaci k příkazům Redis se zobrazuje složitost času jednotlivých příkazů. Vzhledem k tomu, že zpracování příkazů Redis probíhá v jednom vláknu, dlouhotrvající příkaz zablokuje všechny další příkazy. Projděte si příkazy, které vystavujete na server Redis, abyste pochopili jeho dopad na výkon. Například příkaz klíče se často používá bez vědomí, že se jedná O operaci o (N). KLÍČům se můžete vyhnout tak, že pomocí kontroly omezíte špičky procesoru.
Pomocí příkazu SLOWLOG Get můžete měřit náročné příkazy, které se spouštějí na serveru.
Omezení šířky pásma na straně serveru
Různé velikosti mezipaměti mají různé kapacity šířky pásma sítě. Pokud server překročí dostupnou šířku pásma, data se budou do klienta odesílat pomaleji. Žádosti klientů by mohly vynutit vypršení časového limitu, protože server nemůže doručovat data do klienta dostatečně rychle.
Metriky "čtení z mezipaměti" a "zápis do mezipaměti" lze použít k zobrazení, kolik šířky pásma na straně serveru se používá. Tyto metriky můžete zobrazit na portálu.
Omezení situací, kdy je využití šířky pásma sítě blízko maximální kapacity:
- Změňte chování volání klientů tak, aby se snížilo zatížení sítě.
- Vytvořte upozornění na metriky, jako je metrika čtení z mezipaměti nebo zápisu do mezipaměti, abyste včas dostávali upozornění na potenciální dopady.
- Škálujte na větší velikost mezipaměti s větší kapacitou šířky pásma sítě. Další informace najdete v tématu Nejčastější dotazy k plánování služby Azure cache pro Redis.