Azure Yönetilen Redis için Sunucu Yükünü Yönetme

Bu makalede, Azure Yönetilen Redis önbelleğinin yükünün nasıl kullanılacağını ve izleneceğini ele aacağız.

Değer boyutları

İstemci uygulamanızın tasarımı, çok sayıda küçük değeri mi yoksa daha az sayıda daha büyük değeri mi depolamanız gerektiğini belirler. Redis sunucusu açısından bakıldığında, küçük değerler daha iyi performans sağlar. Değer boyutunu 100 KB'tan küçük tutmanızı öneririz.

Tasarımınız Azure Yönetilen Redis'te daha büyük değerler depolamanızı gerektiriyorsa, sunucu yükü daha yüksek olur. Bu durumda CPU kullanımının aktarım hızını sınırlamadığından emin olmak için daha yüksek bir önbellek katmanı kullanmanız gerekebilir.

Önbellekte yeterli CPU kapasitesi olsa bile, daha büyük değerler gecikme süresini artırır; bu nedenle Uygun zaman aşımlarını yapılandırma bölümündeki yönergeleri izleyin.

İstemci bağlantısında ani artışlardan kaçınma

Bağlantıların oluşturulması ve kapatılması Redis sunucusu için yüksek maliyetli bir işlemdir. İstemci uygulamanız kısa süre içinde çok fazla bağlantı oluşturur veya kapatırsa Redis sunucusuna yük olabilir.

Birçok istemci örneğinden aynı anda Redis'e bağlanma işlemi başlatıyorsanız, bağlı istemci sayısında ani bir artış yaşanmasını önlemek için yeni bağlantı oluşturma işlemlerini kademelendirmeyi göz önünde bulundurun.

Bellek baskısı

Sunucuda yüksek bellek kullanımı, sistemin verileri diske sayfalama olasılığını artırır ve bu da sistemi önemli ölçüde yavaşlatabilecek sayfa hatalarına neden olabilir.

Uzun süre çalışan komutlardan kaçının

Redis sunucusu, tek iş parçacığı üzerinde çalışan bir sistemdir. Uzun süre çalışan komutlar, sunucu uzun süre çalışan bir komut üzerinde çalışmakla meşgulken diğer isteklere yanıt veremediğinden istemci tarafında gecikmeye veya zaman aşımlarına neden olabilir. Daha fazla bilgi için Azure Cache for Redis sunucu tarafı sorunlarını giderme bölümüne bakın.

Sunucu Yükleme ve CPU'sunu izleme

Bunlardan biri yüksek olduğunda bildirim aldığınızdan emin olmak için sunucu yüküne ve CPU'ya izleme ekleyin. İzleme, uygulamanızın kısıtlamalarını anlamanıza yardımcı olabilir. Ardından sorunları azaltmak için proaktif olarak çalışabilirsiniz. Olumsuz performans etkilerini önlemek için sunucu yükünü %80'in altında tutmaya çalışmanızı öneririz. %80'in üzerinde sürekli sunucu yükü, planlanmamış yük devretmelere yol açabilir. Azure Yönetilen Redis, şu anda portalın sol tarafındaki Kaynak menüsünde, Insights ve Monitoring altında iki ölçüme yer veriyor: CPU ve Server Load. Her ölçüm tarafından ölçülenleri anlamak, bunları izlerken önemlidir.

CPU (diğer adıyla yüzde İşlemci Zamanı) metriği, önbelleği barındıran düğüm için CPU kullanımını gösterir. CPU ölçümü kesinlikle Redis sunucu işlemi olmayan işlemleri de içerir. CPU, kötü amaçlı yazılımdan koruma ve diğer amaçlara yönelik arka plan işlemlerini içerir. Sonuç olarak, CPU ölçümü bazen ani artış gösterebilir ve Redis sunucusundaki CPU kullanımının tam bir göstergesi olmayabilir.

Sunucu Yükü ölçümü, Redis sunucusunun genel yükle ilgili kendi değerlendirmesini yansıtır ve CPU ölçümüne benzer ancak küme düzeyindedir.

Daha Küçük SKU'lar için Öneriler

2-vCPU VM'leri (B0–B5, X3 ve M10) tarafından desteklenen Azure Yönetilen Redis SKU'larında, Server Load ve CPU gibi yüzde tabanlı ölçümler doğal olarak daha hassastır. Tek bir kısa süreli arka plan iş parçacığı, toplam CPU'nun önemli bir yüzdesini tüketerek gerçek iş yükü az olduğunda bile ölçümlerin yükseltilmiş görünmesine neden olabilir. Sonuç olarak, bu ölçümler küçük SKU'larda gerçek yükü fazla tahmin edebilir ve iş yükü doygunluğunu göstermeyebilir.

Birkaç saat veya gün gibi daha uzun sürelerdeki ölçümleri gözden geçirirken şunları öneririz:

  • Örnek düzeyinde görüntülenebildiği için Sunucu Yükü yerine CPU kullanarak daha fazla ayrıntı düzeyi eklendi
  • Azure Yönetilen Redis örneğini destekleyen sanal makinelerin örnek kimliğine göre bölme
  • Bu uzun zaman aralıkları için Maksimum yerine Ortalama toplama kullanma

Kısa süreli pencerelerde kısa ani artışları veya olayları (zaman aşımlarına veya yük devretmelere neden olabilecekler gibi) yakalamak için Maksimum toplama özelliğini kullanabilirken, özellikle CPU kullanırken, küçük SKU'larda eğilim analizi için daha uzun pencerelerde ortalama kullanabilirsiniz.

Yük devretme işleminden sonra artmış sunucu yükünü test etme

Standart ve Premium SKU'ları için her önbellek iki düğümde barındırılır. Yük dengeleyici istemci bağlantılarını iki düğüme dağıtır. Birincil düğümde planlı veya plansız bakım gerçekleştiğinde, düğüm tüm istemci bağlantılarını kapatır. Böyle durumlarda, tüm istemci bağlantıları bir düğüme inebilir ve tek kalan düğümde sunucu yükünün artmasına neden olabilir. Tek düğümün sunucu yükü çok fazla artmadan tüm istemci bağlantılarınızı işleyebildiğinden emin olmak için, birincil düğümü yeniden başlatıp bu senaryoyu test etmenizi öneririz.

Sonraki Adımlar