Aracılığıyla paylaş


SMB Azure dosya paylaşımları için performansı geliştirme

Bu makalede, Çok Kanallı SMB ve meta veri önbelleğe alma dahil olmak üzere SSD (premium) SMB Azure dosya paylaşımları için performansı nasıl geliştirebileceğiniz açıklanmaktadır.

Şunlara uygulanır

Yönetim modeli Faturalama modeli Medya katmanı Yedeklilik KOBİ Ağ Dosya Sistemi (NFS)
Microsoft.Storage Sağlanan versiyon 2 HDD (standart) Yerel (LRS) Evet Hayır
Microsoft.Storage Sağlanan versiyon 2 HDD (standart) Bölge (ZRS) Evet Hayır
Microsoft.Storage Sağlanan versiyon 2 HDD (standart) Coğrafi (GRS) Evet Hayır
Microsoft.Storage Sağlanan versiyon 2 HDD (standart) GeoZone (GZRS) Evet Hayır
Microsoft.Storage Tahsis edilen v1 SSD (üst düzey) Yerel (LRS) Evet Hayır
Microsoft.Storage Tahsis edilen v1 SSD (üst düzey) Bölge (ZRS) Evet Hayır
Microsoft.Storage Kullandıkça ödeme yap HDD (standart) Yerel (LRS) Evet Hayır
Microsoft.Storage Kullandıkça ödeme yap HDD (standart) Bölge (ZRS) Evet Hayır
Microsoft.Storage Kullandıkça ödeme yap HDD (standart) Coğrafi (GRS) Evet Hayır
Microsoft.Storage Kullandıkça ödeme yap HDD (standart) GeoZone (GZRS) Evet Hayır

Performansı iyileştirme

Aşağıdaki ipuçları performansı iyileştirmenize yardımcı olabilir:

  • Ağ gecikme süresini azaltmak için depolama hesabınızın ve istemcinizin aynı Azure bölgesinde olduğundan emin olun.
  • Çok iş parçacıklı uygulamalar kullanın ve iş yükünü birden çok dosyaya dağıtın.
  • Çok Kanallı SMB'nin performans avantajları, yükü dağıtan dosya sayısıyla artar.
  • SSD paylaşım performansı, IOPS ve aktarım hızı ve tek dosya sınırları dahil olmak üzere sağlanan paylaşım boyutuna bağlıdır. Ayrıntılar için bkz. v1 sağlama modelini anlama.
  • Tek bir VM istemcisinin en yüksek performansı yine de VM sınırlarına bağlıdır. Örneğin, Standard_D32s_v3 yaklaşık 1,86 GiB/sn maksimum bant genişliğini destekler. VM'den çıkış (depolamaya yazma) ölçülür, ancak giriş (depolamadan okuma) ölçülmez. Dosya paylaşımı performansı makine ağ sınırlarına, CPU'lara, dahili depolama kullanılabilir ağ bant genişliğine, GÇ boyutlarına, paralelliğe ve diğer faktörlere tabidir.
  • İlk test genellikle bir ısınmadır. Sonuçları atın ve testi tekrarlayın.
  • Performans tek bir istemciyle sınırlıysa ve iş yükü hala sağlanan paylaşım sınırlarının altındaysa, yükü birden çok istemciye yayarak daha yüksek performans elde edebilirsiniz.

IOPS, aktarım hızı ve G/Ç boyutları arasındaki ilişki

Aktarım Hızı = I/O boyutu * IOPS

Daha yüksek G/Ç boyutları daha yüksek aktarım hızı sağlar ve daha yüksek gecikme süresine sahip olur ve bu da daha az sayıda net IOPS ile sonuçlanır. Daha küçük G/Ç boyutları daha yüksek IOPS sağlar, ancak daha düşük net aktarım hızı ve gecikme süreleriyle sonuçlanır. Daha fazla bilgi edinmek için bkz. Azure Dosyalar performansını anlama.

SMB Çok Kanallı

Çok Kanallı SMB, bir SMB istemcisinin bir SMB dosya paylaşımına birden çok ağ bağlantısı kurmasını sağlar. Azure Dosyalar, Windows istemcileri için SSD dosya paylaşımlarında Çok Kanallı SMB'leri destekler. Hizmet tarafında, SMB Çok Kanallı artık tüm Azure bölgelerinde yeni oluşturulan tüm depolama hesapları için varsayılan olarak etkindir. Çok Kanallı SMB'yi etkinleştirmenin ek bir maliyeti yoktur.

Sosyal haklar

Çok Kanallı SMB, istemcilerin daha yüksek performans sağlarken sahip olma maliyetini düşüren birden çok ağ bağlantısı kullanmasını sağlar. Birden çok NIC üzerinde bant genişliği toplama ve G/Ç yükünü birden çok CPU'ya dağıtmak için NIC'ler için Alma Tarafı Ölçeklendirme (RSS) desteği kullanılarak artan performans elde edilir.

  • Daha yüksek aktarım hızı: Birden çok bağlantı, verilerin paralel olarak birden çok yol üzerinden aktarılmasına olanak sağlar ve bu sayede daha büyük G/Ç boyutlarına sahip daha büyük dosya boyutları kullanan ve tek bir VM'den veya daha küçük bir VM kümesinden yüksek aktarım hızı gerektiren iş yüklerinden önemli ölçüde yararlanır. Bu iş yüklerinden bazıları içerik oluşturma veya kodlama, genomiks ve finansal hizmetler risk analizi için medya ve eğlenceyi içerir.
  • Daha yüksek IOPS: NIC RSS özelliği, birden çok bağlantıya sahip birden çok CPU arasında etkili yük dağıtımı sağlar. Bu, daha yüksek IOPS ölçeğine ve VM CPU'larının etkili kullanımına yardımcı olur. Bu, veritabanı uygulamaları gibi küçük G/Ç boyutlarına sahip iş yükleri için kullanışlıdır.
  • Ağ hataya dayanıklılığı: İstemciler artık tek bir bağlantıya güvenmedikleri için birden çok bağlantı kesinti riskini azaltır.
  • Otomatik yapılandırma: çok kanallı SMB istemcilerde ve depolama hesaplarında etkinleştirildiğinde, mevcut bağlantıların dinamik olarak bulunmasına olanak tanır ve gerektiğinde ek bağlantı yolları oluşturabilir.
  • Maliyet iyileştirme: İş yükleri, SSD dosya paylaşımlarına bağlanırken tek bir VM'den veya küçük bir VM kümesinden daha yüksek ölçek elde edebilir. Bu, bir iş yükünü çalıştırmak ve yönetmek için gereken VM sayısını azaltarak toplam sahip olma maliyetini azaltabilir.

Çok Kanallı SMB hakkında daha fazla bilgi için Windows belgelerine bakın.

Bu özellik, çok iş parçacıklı uygulamalar için daha fazla performans avantajı sağlar, ancak genellikle tek iş parçacıklı uygulamalara yardımcı olmaz. Diğer ayrıntılar için Performans karşılaştırması bölümüne bakın.

Sınırlamalar

Azure dosya paylaşımları için Çok Kanallı SMB şu anda aşağıdaki kısıtlamalara sahiptir:

  • Yalnızca SSD dosya paylaşımları için kullanılabilir. HDD Azure dosya paylaşımları için kullanılamaz.
  • Yalnızca SMB 3.1.1 kullanan istemcilerde desteklenir. SMB istemci işletim sistemlerinin önerilen düzeylere yamalandığından emin olun.
  • En fazla kanal sayısı dört'tür. Ayrıntılar için buraya bakın.

Yapılandırma

Çok Kanallı SMB yalnızca özellik hem istemci tarafında (istemciniz) hem de hizmet tarafında (Azure depolama hesabınız) etkinleştirildiğinde çalışır.

Windows istemcilerinde, Çok Kanallı SMB varsayılan olarak etkindir. Aşağıdaki PowerShell komutunu çalıştırarak yapılandırmanızı doğrulayabilirsiniz:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

Azure depolama hesabınızda Çok Kanallı SMB etkinleştirilmediyse bkz. Çok Kanallı SMB durumu.

SMB Çok Kanallıyı devre dışı bırak

Çoğu senaryoda, özellikle çok iş parçacıklı iş yüklerinde, istemciler SMB Multichannel ile performans artışı görür. Ancak, tek iş parçacıklı iş yükleri gibi bazı belirli senaryolarda veya test amacıyla SMB Çoklu Kanal'ı devre dışı bırakmak isteyebilirsiniz. Daha fazla ayrıntı için bkz. Performans karşılaştırması ve Çok Kanallı SMB durumu .

SMB Çoklu Kanalların doğru yapılandırıldığını doğrulayın.

  1. Yeni bir SSD dosya paylaşımı oluşturun veya mevcut bir SSD dosya paylaşımını kullanın.
  2. İstemcinizin SMB Çok Kanallı'yı desteklediğine emin olun (bir veya daha fazla ağ bağdaştırıcısında alıcı taraf ölçeklendirmesi etkindir). Daha fazla ayrıntı için Windows belgelerine bakın.
  3. İstemcinize bir dosya paylaşımı bağlayın.
  4. Uygulamanızla yük oluşturun. Robocopy /MT gibi bir kopyalama aracı veya Diskspd gibi dosyaları okumak/yazmak için herhangi bir performans aracı yük oluşturabilir.
  5. PowerShell'i yönetici olarak açın ve aşağıdaki komutu kullanın: Get-SmbMultichannelConnection |fl
  6. MaxChannels ve CurrentChannels özelliklerini arayın.

Performans karşılaştırması

okuma/yazma iş yükü kalıplarının iki kategorisi vardır: tek iş parçacıklı ve çok iş parçacıklı. çoğu iş yükü birden çok dosya kullanır, ancak iş yükünün bir paylaşımdaki tek bir dosyayla çalıştığı belirli kullanım örnekleri olabilir. Bu bölüm, farklı kullanım örneklerini ve bunların her biri için performans etkisini kapsar. Genel olarak, çoğu iş yükü çok iş parçacıklı olup iş yükünü birden fazla dosyaya dağıtır. Bu nedenle, SMB Multichannel ile önemli performans iyileştirmeleri gözlemlemelidirler.

  • Çok iş parçacıklı/birden çok dosya: İş yükü düzenine bağlı olarak, birden çok kanal üzerinden okuma ve yazma G/Ç'lerinde önemli performans artışı görmeniz gerekir. Performans kazançları IOPS, aktarım hızı ve gecikme süresi açısından 2x ile 4x arasında herhangi bir yerden farklılık gösterir. En iyi performans için bu kategoride SMB Multichannel etkinleştirilmelidir.
  • Çok iş parçacıklı/tek dosya: Bu kategorideki çoğu kullanım örneğinde, özellikle iş yükünün ortalama G/Ç boyutu 16 KiB'den büyükse, iş yükü için çok kanallı SMB'nin etkinleştirilmesi yararlı olur. Çok Kanallı SMB'den yararlanan birkaç örnek senaryo, tek bir büyük dosyanın yedeklenip kurtarılmasıdır. Çok Kanallı SMB'yi devre dışı bırakmak isteyebileceğiniz bir özel durum, iş yükünüzün küçük G/Ç'lerde ağır olmasıdır. Bu durumda, 10%hafif bir performans kaybı gözlemleyebilirsiniz. Kullanım örneğine bağlı olarak, yükü birden çok dosyaya yaymayı veya özelliği devre dışı bırakmayı göz önünde bulundurun. Ayrıntılar için Yapılandırma bölümüne bakın.
  • Tek iş parçacıklı/birden çok dosya veya tek dosya: Çoğu tek iş parçacıklı iş yükü için, paralellik eksikliğinden dolayı minimum performans avantajları vardır. Çok Kanallı SMB etkinse genellikle 10% küçük bir performans düşüşü olur. Bu durumda, tek bir özel durum dışında Çok Kanallı SMB'yi devre dışı bırakmak idealdir. Tek iş parçacıklı iş yükü birden çok dosyaya dağıtabiliyorsa ve ortalama daha büyük G/Ç boyutu (16 KiB'den büyük) kullanıyorsa, Çok Kanallı SMB'nin küçük performans avantajları olmalıdır.

Performans testi yapılandırması

Bu makaledeki grafikler için şu yapılandırma kullanılmıştır: Dört kanallı tek bir RSS özellikli NIC'ye sahip tek bir Standart D32s v3 VM. Yük, diskspd.exe kullanılarak, G/Ç derinliği 10 olan, çok iş parçacıklı ve çeşitli G/Ç boyutlarına sahip rastgele G/Ç'lerle oluşturulmuştur.

Çok iş parçacıklı/birden fazla dosya ile Çok Kanallı SMB

Çeşitli Girdi/Çıktı boyutlarına sahip 10 dosyada yük oluşturuldu. Ölçeklendirme test sonuçları, SMB Çok Kanallı etkinleştirildiğinde hem IOPS hem de aktarım hızı test sonuçlarında önemli iyileştirmeler gösterdi. Aşağıdaki diyagramlarda sonuçlar gösterilmiştir:

Performans diyagramı.

Aktarım hızı performansı diyagramı.

  • Tek bir NIC'de okumalar için 2x-3x performans artışı ve yazma işlemleri için hem IOPS hem de aktarım hızı açısından 3x-4x kazançlar gözlemlendi.
  • Çok Kanallı SMB, IOPS ve aktarım hızının tek bir NIC ve dört kanal sınırıyla bile VM sınırlarına erişmesine izin verdi.
  • Çıkış (veya depolamaya okuma) ölçümü uygulanmadığından, okuma aktarım hızı vm yayımlama sınırını yaklaşık 1,86 GiB / sn aşabildi. Test 2,7 GiB / sn'den büyük bir başarı elde etti. Giriş (veya depolamaya yazma işlemleri) yine de VM sınırlarına tabidir.
  • Yükün birden çok dosyaya yayılmasına izin verilir ve önemli geliştirmeler yapılabilir.

Bu testte kullanılan örnek komut:

diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat .

Çok Kanallı SMB ile çoklu iş parçacıklarına sahip tek dosya iş yükleri

Yük tek bir 128 GiB dosyasına göre oluşturuldu. Çok Kanallı SMB etkinleştirildiğinde, çok iş parçacıklı/tek dosyalı ölçek artırma testinde çoğu durumda iyileştirmeler gözlemlendi. Aşağıdaki diyagramlarda sonuçlar gösterilmiştir:

IOPS performansı diyagramı.

Tek dosya aktarım hızı performansı diyagramı.

  • Ortalama G/Ç boyutu (16 KiB'den büyük) olan tek bir NIC'de hem okuma hem de yazma işlemlerinde önemli geliştirmeler yapıldı.
  • Küçük G/Ç boyutları için, SMB Çok Kanallı etkinleştirildiğinde performans üzerinde yaklaşık 10% oranında hafif bir etkisi oldu. Yükün birden çok dosyaya yayılması veya özelliğin devre dışı bırakılması bu sorunu hafifletebilir.
  • Performans yine de tek dosya sınırlarına bağlıdır.

SSD dosya paylaşımları için meta veri önbelleğe alma

Meta verileri önbelleğe alma, SSD Azure dosya paylaşımları için meta veri gecikme süresini azaltan ve meta veri ölçek sınırlarını yükselten bir geliştirmedir. Bu özellik gecikme süresi tutarlılığını ve kullanılabilir IOPS'yi artırır ve ağ aktarım hızını artırır.

Bu özellik aşağıdaki meta veri API'lerinin performansını artırır. Hem Windows hem de Linux istemcileri bunu kullanabilir:

  • Yükseltilmiş meta veri ölçek sınırları
  • Gecikme süresi tutarlılığını, kullanılabilir IOPS'yi artırma ve ağ aktarım hızını artırma

Bu özellik aşağıdaki meta veri API'lerini geliştirir ve hem Windows hem de Linux istemcilerinden kullanılabilir:

  • Oluştur
  • Kapat
  • Silmek

Şu anda özellik yalnızca SSD dosya paylaşımları için kullanılabilir. Bu özelliğin kullanılmasıyla ilişkili ek maliyet yoktur. SSD dosya paylaşımları için dosya tanıtıcı sınırlarını artırmak için de kaydolabilirsiniz (önizleme)...

Meta veri önbelleğe alma özelliğine kaydolma

Başlamak için Azure portalını veya Azure PowerShell'i kullanarak özelliğe kaydolun.

  1. Azure portalında oturum açın.
  2. Önizleme özellikleri için arama yapın ve seçin.
  3. Tür filtresini seçin ve Microsoft.Storage'ı seçin.
  4. Azure Premium Dosyalar Meta Veri Önbelleği'ni seçin ve ardından Kaydet'i seçin.

Önemli

  • Önizleme Özellikleri altında listelense de, GA SLA'larını kabul ediyoruz ve yakında bunu tüm hesaplar için varsayılan hale getirerek kayıt gereksinimini ortadan kaldıracağız.
  • AFEC kaydedildikten sonra, daha fazla bilgi için lütfen iletişime geçin azfilespreview@microsoft.com .

Meta veri önbelleğe alma ile performans iyileştirmeleri

Meta veri içeren iş yüklerinin veya kullanım desenlerinin çoğu meta veri önbelleğe alma özelliğinden yararlanabilir. İş yükünüzün meta veriler içerip içermediğini belirlemek için Azure İzleyici'yi kullanarak işlemleri API boyutuna göre bölebilirsiniz.

Meta veri ağırlıklı tipik iş yükleri ve kullanım desenleri şunlardır:

  • Web/uygulama hizmetleri
  • DevOps görevleri
  • Dizin oluşturma/toplu işler
  • Ev dizinleri veya diğer iş yükleri olan ve öncelikli olarak birçok küçük dosya, dizin veya tanıtıcıyla etkileşimde bulunan sanal masaüstleri

Aşağıdaki diyagramlarda olası sonuçlar gösterilmiştir.

Meta veri gecikme süresini azaltma

Gelecekteki aramalar için dosya ve dizin yollarını önbelleğe alarak meta veri önbelleğe alma, sık erişilen dosya ve dizinlerdeki gecikme süresini büyük ölçekte meta veri yoğunluklu iş yükleri için %30 veya daha fazla azaltabilir.

Meta veri önbelleğe alma ile ve olmadan milisaniye cinsinden gecikme süresini gösteren grafik.

Kullanılabilir IOPS'leri artırma

Meta veri önbelleğe alma, uygun ölçekte meta veri ağırlıklı iş yükleri için kullanılabilir IOPS'yi %60'tan fazla artırabilir.

Meta veri önbelleğe alma ile ve olmadan kullanılabilir IOPS'yi gösteren grafik.

Ağ aktarım hızını artırma

Meta veri önbelleğe alma, büyük ölçekte meta veri ağırlıklı iş yükleri için ağ aktarım hızını %60'tan fazla artırabilir.

Meta veri önbelleğe alma ile ve olmadan ağ aktarım hızını gösteren grafik.

Artan dosya tanıtıcı sınırlarına kaydolun (önizleme)

SSD SMB dosya paylaşımları için dosya ve dizin başına en fazla eşzamanlı tanıtıcı sayısını 2.000'den 10.000'e artırmak için Azure portalını veya Azure PowerShell'i kullanarak önizleme özelliğine kaydolun. Sorularınız varsa adresine e-posta gönderin azfilespreview@microsoft.com.

  1. Azure portalında oturum açın.
  2. Önizleme özellikleri için arama yapın ve seçin.
  3. Tür filtresini seçin ve Microsoft.Storage'ı seçin.
  4. Azure Premium Dosyalar Artırılmış Maksimum Açık Tanıtıcı Sayısı'nı seçin ve ardından Kaydol seçin.

Sonraki adımlar