Ř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í.

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:

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:

Další informace