Sanal makine ve disk performansı

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri

Bu makale, Azure Sanal Makineler ve Azure disklerini birleştirdiğinizde disk performansını ve nasıl çalıştığını netleştirmeye yardımcı olur. Ayrıca disk GÇ'niz için performans sorunlarını nasıl tanılayabileceğinizi ve performans için iyileştirme yapmak için yapabileceğiniz değişiklikleri açıklar.

Disk performansı nasıl çalışır?

Azure sanal makinelerinin saniye başına giriş/çıkış işlemleri (IOPS) ve sanal makine türüne ve boyutuna göre aktarım hızı performans sınırları vardır. İşletim sistemi diskleri ve veri diskleri sanal makinelere eklenebilir. Disklerin kendi IOPS ve aktarım hızı sınırları vardır.

Uygulamanızın performansı, sanal makineler veya bağlı diskler için ayrılandan daha fazla IOPS veya aktarım hızı istediğinde sınırlanır. Eşlendiğinde, uygulama en iyi olmayan performansla karşılaşır. Bu da artan gecikme süresine gibi olumsuz sonuçlara yol açabilir. Şimdi bu kavramı netleştirmek için birkaç örnek inceleyelim. Bu örnekleri izlemeyi kolaylaştırmak için yalnızca IOPS'ye bakacağız. Ancak aynı mantık aktarım hızı için de geçerlidir.

Disk GÇ eşlemesi

Kurulum:

  • Standard_D8s_v3
    • Kazınmamış IOPS: 12.800
  • E30 işletim sistemi diski
    • IOPS: 500
  • İki E30 veri diski × 2
    • IOPS: 500

Disk düzeyi sınırlamayı gösteren diyagram.

Sanal makinede çalışan uygulama, sanal makineye 10.000 IOPS gerektiren bir istekte bulunur. Standard_D8s_v3 sanal makine en fazla 12.800 IOPS yürütebileceğinden, bunların tümüne VM tarafından izin verilir.

10.000 IOPS isteği, farklı disklere yönelik üç farklı isteğe ayrılmıştır:

  • İşletim sistemi diskine 1.000 IOPS istenir.
  • Her veri diskine 4.500 IOPS istenir.

Tüm bağlı diskler E30 diskleridir ve yalnızca 500 IOPS işleyebilir. Bu nedenle her biri 500 IOPS ile yanıt verir. Uygulamanın performansı, bağlı diskler tarafından sınırlanır ve yalnızca 1.500 IOPS işleyebilir. Premium SSD P30 diskleri gibi daha iyi performanslı diskler kullanılırsa uygulama en yüksek performansta 10.000 IOPS'de çalışabilir.

Sanal makine GÇ eşlemesi

Kurulum:

  • Standard_D8s_v3
    • Kazınmamış IOPS: 12.800
  • P30 işletim sistemi diski
    • IOPS: 5.000
  • İki P30 veri diski × 2
    • IOPS: 5.000

Sanal makine düzeyi sınırlamayı gösteren diyagram.

Sanal makinede çalışan uygulama 15.000 IOPS gerektiren bir istekte bulunur. Ne yazık ki Standard_D8s_v3 sanal makinesi yalnızca 12.800 IOPS işlemek için sağlanır. Uygulama sanal makine sınırlarına göre sınırlanır ve ayrılan 12.800 IOPS'yi ayırması gerekir.

İstenen 12.800 IOPS, farklı disklere yönelik üç farklı isteğe ayrılmıştır:

  • İşletim sistemi diskine 4.267 IOPS istenir.
  • Her veri diskine 4.266 IOPS istenir.

Tüm bağlı diskler, 5.000 IOPS işleyebilen P30 diskleridir. Bu nedenle, talep ettikleri miktarlarla yanıt verir.

Sanal makine kazılmamış ve önbelleğe alınmış sınırlar

Hem premium depolama hem de premium depolama önbelleği için etkinleştirilen sanal makinelerin iki farklı depolama bant genişliği sınırı vardır. Örnek olarak Standard_D8s_v3 sanal makinesine bakalım. Dsv3 serisi ve Standard_D8s_v3 ile ilgili belgeler şunlardır:

D s v 3 belirtimlerini gösteren grafik.

  • Kaplanmamış maksimum disk aktarım hızı, sanal makinenin işleyebileceği varsayılan depolama üst sınırıdır.
  • Konak önbelleğe almayı etkinleştirdiğinizde en yüksek önbelleğe alınmış depolama aktarım hızı sınırı ayrı bir sınırdır.

Konak önbelleğe alma işlemi, depolamayı hızlı bir şekilde yazılabilir veya okunabilen VM'ye yaklaştırarak çalışır. Konak önbelleğe alma için VM'nin kullanabileceği depolama alanı miktarı belgelerde yer alır. Örneğin, Standard_D8s_v3 200 GiB önbellek depolama alanıyla birlikte geldiğini görebilirsiniz.

Sanal makinenizi oluştururken ve disk eklerken konak önbelleğini etkinleştirebilirsiniz. Ayrıca, var olan bir VM'de disklerinizde konak önbelleğini açıp kapatabilirsiniz. Varsayılan olarak, önbellek özellikli veri disklerinde salt okunur önbelleğe alma etkin olur. Önbellek özellikli işletim sistemi disklerinde okuma/yazma önbelleği etkinleştirilecektir.

Konak önbelleğini gösteren ekran görüntüsü.

Konak önbelleğini her disk için iş yükü gereksinimlerinize uyacak şekilde ayarlayabilirsiniz. Konak önbelleğinizi şu şekilde ayarlayabilirsiniz:

  • Salt okunur: Yalnızca okuma işlemleri gerçekleştiren iş yükleri için
  • Okuma/yazma: Okuma ve yazma işlemlerinin dengesini sağlayan iş yükleri için

İş yükünüz bu desenlerden herhangi birini izlemiyorsa konak önbelleğe alma özelliğini kullanmanızı önermeyiz.

Veri akışını ve performansını nasıl etkilediğini görmek için birkaç farklı konak önbelleği ayarı örneğini inceleyelim. Bu ilk örnekte, konak önbelleğe alma ayarı Salt okunur olarak ayarlandığında GÇ isteklerinde ne olduğuna bakacağız.

Kurulum:

  • Standard_D8s_v3
    • Önbelleğe alınmış IOPS: 16.000
    • Kazınmamış IOPS: 12.800
  • P30 veri diski
    • IOPS: 5.000
    • Konak önbelleğe alma: Salt okunur

Bir okuma işlemi gerçekleştirildiğinde ve istenen veriler önbellekte kullanılabilir olduğunda önbellek istenen verileri döndürür. Diskten okumanız gerekmez. Bu okuma vm'nin önbelleğe alınmış sınırlarına doğru sayılır.

Okuma konağı önbelleğe alma okuma isabeti gösteren diyagram.

Bir okuma işlemi gerçekleştirildiğinde ve istenen veriler önbellekte mevcut olmadığında , okuma isteği diske geçirilir. Ardından disk bunu hem önbelleğe hem de VM'ye gösterir. Bu okuma hem VM'nin önbelleğe alınmamış sınırına hem de VM'nin önbelleğe alınmış sınırına doğru sayılır.

Okuma konağı okuma okumasını önbelleğe almayı gösteren diyagram.

Yazma işlemi gerçekleştirildiğinde, yazma işleminin tamamlanmadan önce hem önbelleğe hem de diske yazılması gerekir. Bu yazma, VM'nin önbelleğe alınmamış sınırına ve VM'nin önbelleğe alınmış sınırına doğru sayılır.

Okuma konağı önbelleğe alma yazma işlemini gösteren diyagram.

Şimdi konak önbelleği ayarı Okuma/yazma olarak ayarlandığında GÇ isteklerinde ne olduğuna bakalım.

Kurulum:

  • Standard_D8s_v3
    • Önbelleğe alınmış IOPS: 16.000
    • Kazınmamış IOPS: 12.800
  • P30 veri diski
    • IOPS: 5.000
    • Konak önbelleğe alma: Okuma/yazma

Okuma, salt okunur ile aynı şekilde işlenir. Okuma/yazma önbelleğe almada farklı olan tek şey yazmalardır. Ana bilgisayar önbelleğe alma ile yazma Okuma/yazma olarak ayarlandığında, yazma işleminin tamamlandığının kabul edilmesi için yalnızca konak önbelleğine yazılması gerekir. Daha sonra önbellek düzenli aralıklarla temizlendiğinde yazma işlemi diske yazılır. Müşteriler ayrıca f/sync veya fua komutu vererek temizleme işlemini zorlayabilir. Bu, bir yazmanın önbelleğe yazıldığında önbelleğe alınmış GÇ'ye doğru sayıldığı anlamına gelir. Diske yanlışlıkla yazıldığında, kazınmamış GÇ'ye doğru sayılır.

Okuma/yazma konağı önbelleğe alma yazma işlemini gösteren diyagram.

şimdi Standard_D8s_v3 sanal makinemizle devam edelim. Ancak bu kez disklerde konak önbelleğini etkinleştireceğiz. Bu, VM'nin IOPS sınırını 16.000 IOPS yapar. VM'ye eklenen her biri 5.000 IOPS işleyebilen temel alınan üç P30 diskidir.

Kurulum:

  • Standard_D8s_v3
    • Önbelleğe alınmış IOPS: 16.000
    • Kazınmamış IOPS: 12.800
  • P30 işletim sistemi diski
    • IOPS: 5.000
    • Konak önbelleğe alma: Okuma/yazma
  • İki P30 veri diski × 2
    • IOPS: 5.000
    • Konak önbelleğe alma: Okuma/yazma

Konak önbelleğe alma örneğini gösteren diyagram.

Uygulama, önbelleğe alma etkinleştirilmiş Standard_D8s_v3 bir sanal makine kullanır. 16.000 IOPS isteğinde bulunur. İstekler, önbelleğe okunduğu veya yazıldıkları anda tamamlanır. Yazma işlemleri daha sonra ekli Disklere gevşek bir şekilde yazılır.

Birleştirilmiş, önbelleğe alınmamış ve önbelleğe alınmış sınırlar

Sanal makinenin önbelleğe alınan sınırları, önbelleğe alınmamış sınırlarından ayrıdır. Bu, bir VM'ye bağlı disklerde konak önbelleğini etkinleştirebileceğiniz ve diğer disklerde konak önbelleğini etkinleştirebileceğiniz anlamına gelir. Bu yapılandırma, sanal makinelerinizin önbelleğe alınan sınırın toplam depolama GÇ değerini ve eklenmemiş sınırı almasına olanak tanır.

Şimdi bu sınırların birlikte nasıl çalıştığını anlamanıza yardımcı olacak bir örneği inceleyelim. Standard_D8s_v3 sanal makinesi ve premium diskler ekli yapılandırmasıyla devam edeceğiz.

Kurulum:

  • Standard_D8s_v3
    • Önbelleğe alınmış IOPS: 16.000
    • Kazınmamış IOPS: 12.800
  • P30 işletim sistemi diski
    • IOPS: 5.000
    • Konak önbelleğe alma: Okuma/yazma
  • İki P30 veri diski × 2
    • IOPS: 5.000
    • Konak önbelleğe alma: Okuma/yazma
  • İki P30 veri diski × 2
    • IOPS: 5.000
    • Konak önbelleğe alma: Devre dışı

Uzak depolama ile konak önbelleğe alma örneğini gösteren diyagram.

Bu durumda, Standard_D8s_v3 bir sanal makinede çalışan uygulama 25.000 IOPS isteğinde bulunur. İstek, bağlı disklerin her birine 5.000 IOPS olarak ayrılmıştır. Üç disk konak önbelleğini, iki disk ise konak önbelleğini kullanmaz.

  • Konak önbelleğe alma kullanan üç disk 16.000 önbelleğe alınmış sınırlar içinde olduğundan, bu istekler başarıyla tamamlanır. Depolama performansı sınırlaması gerçekleşmez.
  • Konak önbelleğe alma kullanmayan iki disk 12.800'ün aşılmamış sınırları içinde olduğundan, bu istekler de başarıyla tamamlanır. Hiçbir sınırlama gerçekleşmez.