Redis için Azure Cache sunucu tarafı sorunlarını giderme

Bu bölümde, redya ya da barındıran sanal makineler için Azure önbelleğindeki bir koşul nedeniyle oluşan sorun giderme sorunları ele alınmaktadır.

Not

Bu kılavuzdaki sorun giderme adımlarından bazıları Redsıs komutları çalıştırma ve çeşitli performans ölçümlerini izleme yönergelerini içerir. Daha fazla bilgi ve yönergeler için ek bilgi bölümündeki makalelere bakın.

Redis sunucusunda bellek baskısı

Sunucu tarafında bellek baskısı, isteklerin işlenmesini geciktirebileceği tüm performans sorunlarına yol açar. Bellek baskısı ne zaman olursa, sistem diske veri sayfası verebilir. Bu sayfa hatalı , sistemin önemli ölçüde yavaşlamasına neden olur. Bu bellek basıncının birkaç olası nedeni vardır:

  • Önbellek neredeyse kapasitesinin üst sınırına kadar verilerle dolmuştur.
  • Redis yüksek bellek parçalanmasıyla karşılaşıyor. Bu parçalanma çoğunlukla büyük nesneler depolanmasından kaynaklanır çünkü redin küçük nesneler için iyileştirildi.

Redin, bu sorunu belirlemenize yardımcı olabilecek Info komutu aracılığıyla iki istatistik ortaya çıkarır: "used_memory" ve "used_memory_rss". Portalı kullanarak bu ölçümleri görüntüleyebilirsiniz .

Bellek kullanımını iyi durumda tutmaya yardımcı olmak için yapabileceğiniz birkaç değişiklik vardır:

Yüksek CPU kullanımı veya sunucu yükü

Yüksek sunucu yükü veya CPU kullanımı, sunucunun istekleri zamanında işleyemediği anlamına gelir. Sunucunun yanıt vermesi yavaş olabilir ve istek hızlarıyla devam edemeyebilir.

CPU veya sunucu yükü gibi ölçümleri izleyin . CPU kullanımında, zaman aşımları ile karşılık gelen ani artışlar izleyin.

Yüksek sunucu yükünü azaltmak için yapabileceğiniz birkaç değişiklik vardır:

Uzun süre çalışan komutlar

Bazı Redis komutlarının yürütülmesi diğerlerinden daha uzun sürer. Redsıs komutları belgeleri , her komutun zaman karmaşıklığını gösterir. Redis komutu işlemesi tek iş parçacıklı olduğundan, çalıştırılması zaman alan bir komut onu izleyen tüm diğer komutları engeller. Performans etkilerini anlamak için, Redsıs sunucunuza dağıttığınız komutları gözden geçirin. Örneğin, anahtarlar komutu genellikle bir O (N) işlemi olduğunu bilmeksizin kullanılır. CPU artışlarını azaltmak için tarama kullanarak anahtarlardan kaçınabilirsiniz.

Yavaşgünlük al komutunu kullanarak, sunucuda yürütülen pahalı komutları ölçebilirsiniz.

Sunucu tarafı bant genişliği sınırlaması

Farklı önbellek boyutlarının farklı ağ bant genişliği kapasiteleri vardır. Sunucu kullanılabilir bant genişliğini aşıyorsa veriler istemciye hızla gönderilmez. Sunucu istemciye verileri yeterince hızlı bir şekilde gönderemediğinden, istemci istekleri zaman aşımına uğrar.

"Önbellek okuma" ve "önbellek yazma" ölçümleri, sunucu tarafı bant genişliğinin ne kadar kullanıldığını görmek için kullanılabilir. Bu ölçümleri portalda görüntüleyebilirsiniz .

Ağ bant genişliği kullanımının en yüksek kapasiteye yakın olduğu durumları azaltmak için:

Ek bilgiler