Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Yönetilen Redis için kod geliştirme adımları anlatılmaktadır.
Bağlantı dayanıklılığı ve sunucu yükü
İstemci uygulamaları geliştirirken, bağlantı dayanıklılığı ve sunucu yükünü yönetmek için uygun en iyi yöntemleri göz önünde bulundurmayı unutmayın.
Daha fazla anahtarı ve daha küçük değerleri göz önünde bulundurun
Azure Yönetilen Redis daha küçük değerlerle en iyi şekilde çalışır. Verileri birden çok anahtara yaymak için içindeki daha büyük veri öbeklerini daha küçük parçalara bölmeyi göz önünde bulundurun. İdeal değer boyutu hakkında daha fazla bilgi için bu makaleye bakın.
Büyük istek veya yanıt boyutu
Büyük bir istek/yanıt zaman aşımlarına neden olabilir. Örneğin, istemcinizde yapılandırılan zaman aşımı değerinizin 1 saniye olduğunu varsayalım. Uygulamanız aynı anda iki anahtar (örneğin, 'A' ve 'B') ister (aynı fiziksel ağ bağlantısını kullanarak). çoğu istemci, hem 'A' hem de 'B' isteklerinin yanıtlarını beklemeden ardışık olarak gönderildiği istek kanalı oluşturmayı destekler. Sunucu yanıtları aynı sırada geri gönderir. 'A' yanıtı büyükse, sonraki istekler için zaman aşımının çoğunu alabilir.
Aşağıdaki örnekte, 'A' ve 'B' istekleri sunucuya hızlı bir şekilde gönderilir. Sunucu hızlı bir şekilde 'A' ve 'B' yanıtlarını göndermeye başlar. Veri aktarım süreleri nedeniyle, sunucu hızlı yanıt vermesine rağmen 'B' yanıtının 'A' yanıtını beklemesi zaman aşımına uğradı.
|-------- 1 Second Timeout (A)----------|
|-Request A-|
|-------- 1 Second Timeout (B) ----------|
|-Request B-|
|- Read Response A --------|
|- Read Response B-| (**TIMEOUT**)
Bu isteği/yanıtı ölçmek zordur. Büyük istekleri ve yanıtları izlemek için istemci kodunuzu izleyebilirsiniz.
Büyük yanıt boyutları için çözünürlükler farklılık gösterse de şunlardır:
- Uygulamanızı birkaç büyük değer yerine çok sayıda küçük değer için iyileştirin.
- Tercih edilen çözüm, verilerinizi ilgili daha küçük değerlere bölmektir.
- Gönderiye bakın Redis için ideal değer boyutu aralığı nedir? 100 KB çok mu büyük? daha küçük değerlerin neden önerildiğinden ayrıntılı bilgi için.
- Daha yüksek bant genişliği özellikleri elde etmek için sanal makinenizin (VM) boyutunu artırın
- İstemci veya sunucu VM'nizde daha fazla bant genişliği, daha büyük yanıtlar için veri aktarım sürelerini azaltabilir.
- Her iki makinedeki mevcut ağ kullanımınızı geçerli VM boyutunuzun sınırlarıyla karşılaştırın. Yalnızca sunucuda veya yalnızca istemcide daha fazla bant genişliği yeterli olmayabilir.
- Uygulamanızın kullandığı bağlantı nesnelerinin sayısını artırın.
- Farklı bağlantı nesneleri üzerinden istekte bulunmak için dönüşümlü yöntem kullanın.
Kanal oluşturma kullanma
Redis kanalı oluşturmayı destekleyen bir Redis istemcisi seçmeyi deneyin. Kanal oluşturma, ağı verimli bir şekilde kullanmanıza ve mümkün olan en iyi aktarım hızını elde etmelerine yardımcı olur.
Pahalı işlemlerden kaçının
KEYS komutu gibi bazı Redis işlemleri pahalıdır ve bundan kaçınılmalıdır. Uzun süre çalışan komutlarla ilgili dikkat edilmesi gereken bazı noktalar için bkz . uzun süre çalışan komutlar.
Uygun bir katman seçin
Azure Yönetilen Redis, Hafıza Optimizasyonlu, Dengeli, İşlem Optimizasyonlu ve Flash Optimizasyonlu katmanlar sunar. Katman seçme hakkında daha fazla bilgi için bkz. Ölçeklendirme. Doğru katmanı seçmek ve bağlantı ayarlarını doğrulamak için performans testi yapmanızı öneririz. Daha fazla bilgi için bkz . Performans testi.
Uygun bir kullanılabilirlik modu seçin
Azure Yönetilen Redis, yüksek kullanılabilirlik yapılandırmasını etkinleştirme veya devre dışı bırakma seçeneği sunar. Yüksek kullanılabilirlik modu devre dışı bırakıldığında, AMR örneğiniz çoğaltılmaz ve Redis örneğiniz bakım sırasında kullanılamaz. AMR örneğindeki tüm veriler planlı veya plansız bakım sırasında kaybolur. Yüksek kullanılabilirliği yalnızca geliştirme veya test iş yükleriniz için devre dışı bırakmanızı öneririz. Yüksek kullanılabilirliğe sahip Redis örneklerinin performansı, birincil ve çoğaltma veri parçası arasında yükü dağıtma açısından kritik öneme sahip veri çoğaltmasının olmaması nedeniyle de düşük olabilir.
Redis örneğiyle aynı bölgedeki istemci
Redis örneğinizi ve uygulamanızı aynı bölgede bulun. Farklı bir bölgedeki Bir Redis'e bağlanmak gecikme süresini önemli ölçüde artırabilir ve güvenilirliği azaltabilir.
Azure dışından bağlanabilirsiniz ancak özellikle uygulamanızın veya veritabanınızın performansını hızlandırmak için Redis kullanırken bu önerilmez. Redis sunucusunu yalnızca bir anahtar/değer deposu olarak kullanıyorsanız, gecikme birincil sorun olmayabilir.
Genel IP adresine değil ana bilgisayar adına güven
AMR örneğinize atanan genel IP adresi, ölçeklendirme işlemi veya arka uç geliştirmesi sonucunda değişebilir. Açık bir genel IP adresi yerine konak adına güvenmenizi öneririz.
TLS şifrelemesi kullanma
Azure Yönetilen Redis varsayılan olarak TLS şifreli iletişimler gerektirir. TLS sürüm 1.2 ve 1.3 şu anda desteklenmektedir. İstemci kitaplığınız veya aracınız TLS'yi desteklemiyorsa, şifrelenmemiş bağlantıları etkinleştirmek mümkündür.
Bellek kullanımını, CPU kullanım ölçümlerini, istemci bağlantılarını ve ağ bant genişliğini izleme
Üretimde Azure Yönetilen Redis örneğini kullanırken , Kullanılan Bellek Yüzdesi, CPU ölçümleri, Bağlı İstemciler için uyarılar ayarlamanızı öneririz. Bu ölçümler tutarlı olarak %75'in üzerindeyse örneğinizi daha büyük bir belleğe veya daha iyi aktarım hızı katmanına ölçeklendirmeyi göz önünde bulundurun. Daha fazla ayrıntı için bkz. ne zaman ölçeklendirilecek.
Veri Kalıcılığını veya Veri Yedeklemeyi etkinleştirmeyi göz önünde bulundurun
Redis, varsayılan olarak kısa ömürlü veriler için tasarlanmıştır. Bu, nadir durumlarda bakım veya kesinti gibi çeşitli durumlarda verilerinizin kaybedilebileceği anlamına gelir. Uygulamanız veri kaybına duyarlıysa, veri dışarı aktarma işlemini kullanarak veri kalıcılığını veya düzenli veri yedeklemeyi etkinleştirmenizi öneririz.
Veri kalıcılığı özelliği, önbellek kapandığında veriler için otomatik olarak bir hızlı kurtarma noktası sağlayacak şekilde tasarlanmıştır. Hızlı kurtarma, RDB veya AOF dosyasını önbellek örneğine bağlı bir yönetilen diskte depolayarak mümkün hale getirilir. Disk üzerindeki kalıcılık dosyaları kullanıcılar tarafından erişilemez veya başka bir AMR örneği tarafından kullanılamaz.
Birçok müşteri, önbelleklerindeki verilerin düzenli aralıklarla yedeklerini almak için kalıcılığı kullanmak ister. Veri kalıcılığını bu şekilde kullanmanızı önermeyiz. Bunun yerine içeri/dışarı aktarma özelliğini kullanın. RdB biçimindeki verilerin kopyalarını doğrudan seçtiğiniz depolama hesabına aktarabilir ve veri dışarı aktarma işlemini istediğiniz sıklıkta tetikleyebilirsiniz. Dışarı aktarılan bu veriler daha sonra herhangi bir Redis örneğine aktarılabilir. Dışarı aktarma işlemi portaldan veya CLI, PowerShell veya SDK araçları kullanılarak tetiklenebilir.
İstemci kitaplığına özgü yönergeler
Daha fazla bilgi için bkz. Azure Yönetilen Redis İstemci kitaplıkları