Azure portalıyla Azure VM disk önbelleğini etkinleştirme ve yapılandırma

Tamamlandı

Disk performansınızı tahmin etmek için seçebileceğiniz ayarları ve özellikleri gördük. Şimdi önbelleğe alma yoluyla bunu geliştirmenin yollarını gözden geçirelim.

Disk önbelleği

Önbellek, verileri genellikle bellekte depolayan özel bir bileşendir, böylece verilere daha hızlı erişilebilir. Önbellekteki veriler genellikle daha önce okunan veriler veya daha önceki bir hesaplamadan kaynaklanan verilerdir. Burada amaç, verilere diskten okumaya kıyasla daha hızlı erişim sağlamaktır.

Önbelleğe Alma, kalıcı depolamadan daha hızlı okuma ve yazma performansına sahip özel (ve bazen pahalı) geçici depolama kullanır. Önbellek depolama genellikle sınırlı olduğundan, önbelleğe almadan en çok hangi veri işlemlerinin yararlandığı konusunda karar vermeniz gerekir. Azure'da olduğu gibi önbelleğin geniş çapta kullanıma sunulabileceği durumlarda dahi kullanılacak önbellek türünü belirlemeden önce disklerin iş yükü desenlerini bilmek önemlidir.

Okuma önbelleği, veri alma sürecini hızlandırmaya çalışır. Veriler kalıcı depolama alanı yerine daha hızlı olan önbellekten okunur. Veri okuma işlemleri aşağıdaki durumlarda önbellekten gerçekleştirilir:

  • Veriler daha önce okundu ve önbellekte var.
  • Önbellek, tüm verilere yetecek kadar büyük.

Okuma önbelleğinin, sıralı okuma kümesi gibi okuma kuyruğu için bazı öngörülebilirlik olduğunda yardımcı olduğunu unutmayın. Eriştiğiniz verilerin depolama alanına dağıtıldığı rastgele G/Ç için önbelleğe alma çok az fayda sağlar ve hatta disk performansını düşürebilir.

Yazma önbelleği, kalıcı depolama alanına veri yazma sürecini hızlandırmaya çalışır. Bir uygulama yazma önbelleği kullandığında, kaydedilecek verileri dikkate alabilir. Gerçekte veri, bir diske yazılmak üzere önbellekte kuyruğa alınmış olur. Tahmin edebileceğiniz gibi bu mekanizma, önbelleğe alınmış veriler diske yazılmadan sistemin kapanması gibi bir durumda potansiyel bir hata noktası haline gelebilir. SQL Server gibi bazı sistemler önbelleğe alınmış verilerin kalıcı depolama alanına yazılma işlemini kendi gerçekleştirir.

Azure disk önbelleği

Disk depolama alanına göre farklılık gösteren iki disk önbelleği türü vardır:

  • Azure depolama önbelleği
  • Azure sanal makine (VM) diski önbelleği

Azure depolama önbelleği Azure Blob depolama, Azure Dosyaları ve diğer Azure içeriği için önbellek hizmetleri sunar. Bu önbellek türlerinin yapılandırılması bu modülün kapsamının dışındadır.

Azure sanal makine diski önbelleği, Azure VM'lerine eklenmiş olan sanal sabit disk (VHD) dosyalarının okuma ve yazma erişimini iyileştirmeyi kapsar. Bu modülde disk önbelleğe almaya odaklanacağız.

Ultra Diskler veya Premium SSD v2 için disk önbelleğe alma desteklenmez, ancak daha düşük gecikme süresinden zaten yararlanır ve bu da disk önbelleğe alma ile aynı temel sorunlardan bazılarını giderir.

Azure sanal makine diski türleri

Azure VM’lerinde üç farklı disk türü kullanılır:

  • İşletim sistemi diski: Bir Azure VM oluşturduğunuzda Azure, otomatik olarak işletim sistemi (OS) için bir VHD ekler.

  • Geçici disk: Bir Azure VM oluşturduğunuzda Azure, otomatik olarak geçici bir disk de ekler. Bu disk sayfa ve takas dosyaları gibi veriler için kullanılır. Bu disk üzerindeki veriler bakım veya VM yeniden dağıtımı sırasında kaybolabilir. Veritabanı dosyaları veya işlem günlükleri gibi kalıcı verileri depolamak için bu diski kullanmayın.

  • Veri diskleri: Veri diski, uygulama verilerini veya tutmanız gereken diğer verileri depolamak için sanal makineye bağlı bir VHD'dir.

İşletim sistemi diskleri ve veri disklerinde Azure VM disk önbelleği kullanılır. VM diskinin önbellek boyutu, VM örneğinin boyutuna ve VM'ye eklenen disk sayısına göre değişir. Önbelleğe almayı en fazla 4 TiB boyutunda disk için etkinleştirebilirsiniz.

Azure VM'leri için önbellek seçenekleri

VM diski önbelleği için üç yaygın seçenek vardır:

  • Okuma/yazma: Geri yazma önbelleği. Bu seçeneği yalnızca uygulamanızın ihtiyaç duyulduğunda önbelleğe alınmış verilerin kalıcı disklere yazılmasını uygun şekilde işlemesi durumunda kullanın.
  • Salt okunur: Okuma işlemleri önbellekten yapılır.
  • Yok: Önbellek yok. Yalnızca veya yoğunluklu olarak yazma işlemleri için kullanılan disklerde bu seçeneği belirleyin. Günlük dosyaları yoğunluklu olarak yazma işlemi gerçekleştirdiğinden bu seçeneğe uygundur.

Tüm önbellek seçenekleri tüm disk türleri için sunulmaz. Aşağıdaki tabloda her disk türüne ait önbellek seçenekleri gösterilmiştir:

Salt okunur Okuma/yazma Hiçbiri
İşletim sistemi diski evet evet (varsayılan) evet
Veri diski evet (varsayılan) evet evet
Geçici disk hayır hayır hayır

Dekont

L Serisi ve B serisi sanal makineler için disk önbelleğe alma seçeneklerini değiştiremezsiniz.

Azure VM diski önbelleği açısından performansla ilgili önemli noktalar

Önbellek ayarları, Azure VM'lerinde çalışan iş yüklerinizin performansını nasıl etkiler?

İşletim sistemi diski

Vm işletim sistemi diskinin varsayılan davranışı önbelleği okuma/yazma modunda kullanmaktır. Bu nedenle, işletim sistemi diskinde veri dosyalarını depolayan ve veri dosyalarına çok sayıda rastgele okuma/yazma işlemi gerçekleştiren uygulamalarınız varsa. Bu dosyaları önbelleğe alma özelliğinin kapalı olduğu bir veri diskine taşımayı göz önünde bulundurun. Bunun nedeni nedir? Okuma kuyruğu sıralı okumalar içermiyorsa önbelleğe alma çok az fayda sağlar veya hiç fayda sağlamaz. Verilerin sıralı olduğu gibi önbelleği korumanın yükü disk performansını düşürebilir.

Veri diskleri

Yüksek performans gerektiren uygulamalar için işletim sistemi yerine veri diskleri kullanmanız gerekir. Ayrı diskler kullanmak, her biri için uygun önbellek ayarlarını yapılandırabilmenizi sağlar.

Örneğin SQL Server çalıştıran Azure VM'lerinin veri disklerinde Salt okunur önbelleğinin etkinleştirilmesi (normal ve TempDB verileri için) performansta gözle görülür artış sağlayabilir. Diğer taraftan günlük dosyaları için önbellek kullanılmayan veri diskleri tercih edilmelidir.

Uyarı

Bir Azure diskinin önbellek ayarını değiştirmek diski ayırıp sonrasında yeniden ekler. İşletim sistemi diskiyse, VM yeniden başlatılır. Disk önbellek ayarını değiştirmeden önce bu kesintiden etkilenebilecek tüm uygulamaları/hizmetleri durdurun.

Aşağıdaki araçlardan herhangi biriyle sanal makine disk önbelleği ayarlarını yapılandırabilirsiniz:

  • Azure portal
  • Azure CLI
  • Azure PowerShell
  • Resource Manager şablonları

Önbelleğe almayı yapılandırmak için Azure portalını kullanma

Azure portalı kullanarak yeni bir VM sağladığınızda, VM dağıtılana kadar okuma/yazmadan işletim sistemi diski için varsayılan önbelleğe alma yapılandırmasını değiştiremezsiniz.

Mevcut bir VM’ye bir veri diski eklediğinizde, disk VM’ye dağıtılmadan önce önbelleğe alma seçeneğini yapılandırabilirsiniz.

Şimdi bir VM oluşturalım ve Azure portalını kullanarak önbellek ayarlarını değiştirelim.