SMB Azure dosya paylaşımları için performansı geliştirme
Bu makalede, Çok Kanallı SMB ve meta veri önbelleğe alma (önizleme) gibi premium SMB Azure dosya paylaşımları için performansı nasıl geliştirebileceğiniz açıklanmaktadır.
Şunlara uygulanır
Dosya paylaşımı türü | SMB | NFS |
---|---|---|
Standart dosya paylaşımları (GPv2), LRS/ZRS |
![]() |
![]() |
Standart dosya paylaşımları (GPv2), GRS/GZRS |
![]() |
![]() |
Premium dosya paylaşımları (filestorage), LRS/ZRS |
![]() |
![]() |
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 birlikte bulunduğundan emin olun.
- Çok iş parçacıklı uygulamalar kullanın ve yükü birden çok dosyaya yayın.
- Çok Kanallı SMB'nin performans avantajları, yük dağıtan dosyaların sayısıyla artar.
- Premium paylaşım performansı, sağlanan paylaşım boyutuna (IOPS/çıkış/giriş) ve tek dosya sınırlarına bağlıdır. Ayrıntılar için bkz . Premium dosya paylaşımları için sağlamayı 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 en fazla 16.000 MB/sn (veya 2GB/sn) bant genişliğini destekleyebilir; VM'den çıkış (depolamaya yazma) ölçülür, giriş (depolamadan okuma) ölçülür. 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ı = GÇ 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 net IOPS sayısının düşmesine neden olur. Daha küçük G/Ç boyutları daha yüksek IOPS sağlar, ancak daha düşük net aktarım hızı ve gecikme süresine neden olur. Daha fazla bilgi edinmek için bkz. Azure Dosyalar performansını anlama.
SMB Çok Kanal
Ç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 premium dosya paylaşımlarında Çok Kanallı SMB desteği sunar. 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ık: İstemciler artık tek bir bağlantıya güvenmediğinden 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, premium paylaşımlara 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 edinmek 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 premium Azure dosya paylaşımları için kullanılabilir. Standart 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.
Çok Kanallı SMB'yi devre dışı bırakma
Çok iş parçacıklı iş yükleri başta olmak üzere çoğu senaryoda istemcilerin çok kanallı SMB ile iyileştirilmiş performans görmesi gerekir. Ancak, tek iş parçacıklı iş yükleri gibi bazı belirli senaryolarda veya test amacıyla SMB Çok Kanallı'yı devre dışı bırakmak isteyebilirsiniz. Daha fazla ayrıntı için bkz . Performans karşılaştırması ve Çok Kanallı SMB durumu .
Çok Kanallı SMB'nin doğru yapılandırıldığını doğrulama
- Yeni bir premium dosya paylaşımı oluşturun veya mevcut premium paylaşımı kullanın.
- İstemcinizin Çok Kanallı SMB'yi desteklediğine emin olun (bir veya daha fazla ağ bağdaştırıcısında alma tarafı ölçeklendirme etkindir). Daha fazla ayrıntı için Windows belgelerine bakın.
- İstemcinize bir dosya paylaşımı bağlayın.
- 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.
- PowerShell'i yönetici olarak açın ve aşağıdaki komutu kullanın:
Get-SmbMultichannelConnection |fl
- MaxChannels ve CurrentChannels özelliklerini arayın.
Performans karşılaştırması
okuma/yazma iş yükü desenlerinin 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ıdır ve iş yükünü birden çok dosyaya dağıtır, bu nedenle SMB Çok Kanallı ile önemli performans iyileştirmeleri gözlemlemelidir.
- Ç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. Bu kategori için en iyi performans için Çok Kanallı SMB etkinleştirilmelidir.
- Çok iş parçacıklı/tek dosya: Bu kategorideki çoğu kullanım örneğinde iş yükleri, özellikle iş yükünün ortalama G/Ç boyutu > ~16k olduğunda çok kanallı SMB'nin etkinleştirilmesinden yararlanır. Ç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, yaklaşık %10'lık 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 yaklaşık %10'lı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ü yükü birden çok dosyaya dağıtabiliyorsa ve ortalama daha büyük G/Ç boyutu (> ~16k) 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 birden çok iş parçacığı ve çeşitli G/Ç boyutlarına sahip rastgele G/Ç'ler kullanılarak oluşturulmuştur.
Size | Sanal işlemci | Bellek: GiB | Geçici depolama (SSD) GiB | Maksimum veri diskleri | En fazla önbelleğe alınmış ve geçici depolama aktarım hızı: IOPS/MB/sn (GiB'de önbellek boyutu) | En fazla kazınmamış disk aktarım hızı: IOPS/MB/sn | En fazla NIC | Beklenen ağ bant genişliği (Mb/sn) |
---|---|---|---|---|---|---|---|---|
Standard_D32s_v3 | 32 | 128 | Kategori 256 | 32 | 64000/512 (800) | 51200/768 | 8 | 16000 |
Çok Kanallı SMB ile çok iş parçacıklı/birden çok dosya
Çeşitli GÇ boyutlarına sahip 10 dosyada yük oluşturuldu. Ölçeği artırma test sonuçları, Çok Kanallı SMB 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:
- 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ü yapılmadığından, okuma aktarım hızı 16.000 Mb/sn (2 GiB/sn) vm yayımlama sınırını aşabildi. Test 2,7 GiB/sn'ye ulaştı >. 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 çok iş parçacıklı/tek dosyalı 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 testi çoğu durumda iyileştirmeler gösterdi. Aşağıdaki diyagramlarda sonuçlar gösterilmiştir:
- Ortalama G/Ç boyutu (> yaklaşık 16k) olan tek bir NIC'de hem okumalarda hem de yazmalarda önemli geliştirmeler yapıldı.
- Daha küçük G/Ç boyutları için çok kanallı SMB etkinken performans üzerinde yaklaşık %10'luk bir etkisi vardı. 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.
Premium SMB dosya paylaşımları için meta veri önbelleğe alma
Meta verileri önbelleğe alma, aşağıdakileri iyileştirmeyi amaçlayan premium SMB Azure dosya paylaşımlarına yönelik bir geliştirmedir:
- Meta veri gecikme süresini azaltma
- 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 önizleme özelliği aşağıdaki meta veri API'lerini geliştirir ve hem Windows hem de Linux istemcilerinden kullanılabilir:
- Oluşturma
- Açılış
- Kapat
- Sil
Şu anda bu önizleme özelliği yalnızca premium SMB dosya paylaşımları (FileStorage depolama hesabı türünde dosya paylaşımları) için kullanılabilir. Bu özelliğin kullanılmasıyla ilişkili ek maliyet yoktur.
Özelliğe kaydolun
Başlamak için Azure portalını veya Azure PowerShell'i kullanarak özelliğe kaydolun.
- Azure Portal’ında oturum açın.
- Önizleme özellikleri için arama yapın ve seçin.
- Tür filtresini seçin ve Microsoft.Storage'ı seçin.
- Azure Premium Dosyalar Meta Veri Önbelleği Önizlemesi'ne ve ardından Kaydet'e tıklayın.
Önemli
Kayıt tamamlandıktan sonra hesapların eklenmeleri için 1-2 gün bekleyin.
Bölgesel kullanılabilirlik
Meta veri önbelleğe alma önizlemesi tüm bölgelerde desteklenir.
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
- Birçok küçük dosya, dizin veya tanıtıcıyla öncelikli olarak etkileşim kuran ev dizinlerine veya diğer iş yüklerine sahip 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.
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.
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.
Sonraki adımlar
- Çok Kanallı SMB durumunu denetleme
- Çok Kanallı SMB için Windows belgelerine bakın