Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✔️ Berbagi file SMB di tingkat media SSD
Artikel ini menjelaskan bagaimana Anda dapat meningkatkan performa untuk file share Azure SMB premium (SSD), termasuk menggunakan SMB Multichannel dan caching metadata.
Mengoptimalkan performa
Tips berikut mungkin membantu Anda mengoptimalkan performa:
- Pastikan akun penyimpanan dan klien Anda berada di wilayah Azure yang sama untuk mengurangi latensi jaringan.
- Gunakan aplikasi multi-utas dan sebarkan beban di beberapa file.
- Manfaat performa SMB Multichannel meningkat dengan jumlah file yang mendistribusikan beban.
- Performa berbagi SSD terikat oleh ukuran berbagi yang disediakan, termasuk IOPS dan throughput, dan batas file tunggal. Untuk detailnya, lihat memahami model provisi v1.
- Performa maksimum klien komputer virtual tunggal (VM) masih terikat pada batas VM. Misalnya, Standard_D32s_v3 mendukung bandwidth maksimum sekitar 1,86 GiB/detik. Ingress (penulisan ke penyimpanan) diukur, tetapi egress (pembacaan dari penyimpanan) tidak. Performa berbagi file tunduk pada batas jaringan mesin, CPU, bandwidth jaringan penyimpanan internal yang tersedia, ukuran IO, paralelisme, dan faktor lainnya.
- Tes awal biasanya merupakan pemanasan. Buang hasilnya dan ulangi pengujian.
- Jika performa dibatasi oleh satu klien dan beban kerja masih di bawah batas berbagi yang disediakan, Anda dapat mencapai performa yang lebih tinggi dengan menyebarkan beban melalui beberapa klien.
- Gunakan penempatan zona untuk memilih zona ketersediaan tertentu tempat akun penyimpanan Anda berada. Ini memungkinkan Anda menempatkan VM di zona ketersediaan yang sama dengan penyimpanan Anda, yang dapat mengurangi latensi hingga 30 persen.
Hubungan antara ukuran IOPS, throughput, dan I/O
Throughput = ukuran IO * IOPS
Ukuran I/O yang lebih tinggi mendorong throughput yang lebih tinggi dan memiliki latensi yang lebih tinggi, menghasilkan jumlah IOPS bersih yang lebih rendah. Ukuran I/O yang lebih kecil mendorong IOPS yang lebih tinggi tetapi menghasilkan throughput dan latensi bersih yang lebih rendah. Untuk mempelajari selengkapnya, lihat Memahami performa Azure Files.
SMB Multichannel
SMB Multichannel memungkinkan klien SMB untuk membuat beberapa koneksi jaringan ke berbagi file SMB, meningkatkan throughput dan ketahanan. Azure Files mendukung SMB Multichannel pada berbagi file SSD untuk klien Windows dan Linux SMB. Untuk versi OS Linux yang didukung dan konfigurasi terperinci, lihat bagian Linux SMB Multichannel.
Dukungan Linux SMB Multichannel
Azure Files mendukung SMB Multichannel dengan klien Linux SMB asli pada distribusi berikut:
- Ubuntu 24.04 AKS: 6.8.0-1042
- Ubuntu 24.04 VM: 6.14.0-1017
- Ubuntu 22.04 VM: 6.8.0-1044
- AzLinux 3.0 (VM dan AKS): 6.6.106.1
- RHEL 9.7: 5.14.0-611.5.1.el9_7
- RHEL 10.1: 6.12.0-124.8.1.el10_1
Klien ini harus menjalankan tumpukan kernel dan utilitas CIFS yang sesuai yang mendukung multisaluran. Dukungan SMB Multichannel di Linux memungkinkan penskalaan performa yang mirip dengan Windows dengan membuat beberapa koneksi TCP paralel ke titik akhir berbagi file yang sama.
Prasyarat
Berikut ini adalah prasyarat untuk menggunakan SMB Multichannel dengan Linux.
- Kernel dengan dukungan multisaluran SMB diaktifkan (lihat dukungan Linux SMB Multichannel)
- SMB 3.1.1
- Port 445/TCP terbuka antara klien dan titik akhir Azure Files
- Pastikan RSS (receive-side scaling) di sisi klien diaktifkan untuk mendukung multi-queue.
Contoh perintah pemasangan
Berikut ini adalah contoh perintah pemasangan untuk menggunakan SMB Multichannel dengan Linux.
mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
-o vers=3.1.1,username=<account>,password=<key>,dir_mode=0777,file_mode=0777, \
multiuser,serverino,actimeo=30,max_channels=4
Keuntungan
SMB Multichannel mengaktifkan klien untuk menggunakan beberapa koneksi jaringan yang memberikan peningkatan performa sekaligus menurunkan biaya kepemilikan. Peningkatan performa dicapai melalui agregasi bandwidth melalui beberapa NIC dan menggunakan dukungan Receive Side Scaling (RSS) untuk NIC untuk mendistribusikan beban I/O di beberapa CPU.
- Peningkatan throughput: Beberapa koneksi memungkinkan data ditransfer melalui beberapa jalur secara paralel dan dengan demikian secara signifikan menguntungkan beban kerja yang menggunakan ukuran file yang lebih besar dengan ukuran I/O yang lebih besar, dan memerlukan throughput tinggi dari satu VM atau set VM yang lebih kecil. Beberapa beban kerja ini termasuk media dan hiburan untuk pembuatan konten atau transcoding, genomika, dan analisis risiko layanan keuangan.
- IOPS yang lebih tinggi: Kemampuan NIC RSS memungkinkan distribusi beban yang efektif di beberapa CPU dengan beberapa koneksi. Ini membantu mencapai skala IOPS yang lebih tinggi dan pemanfaatan CPU VM yang efektif. Ini berguna untuk beban kerja yang memiliki ukuran I/O kecil, seperti aplikasi database.
- Toleransi kesalahan jaringan: Beberapa koneksi mengurangi risiko gangguan karena klien tidak lagi mengandalkan koneksi individual.
- Konfigurasi otomatis: Ketika SMB Multichannel diaktifkan pada klien dan akun penyimpanan, hal ini memungkinkan penemuan dinamis koneksi yang ada, dan dapat membuat jalur koneksi tambahan seperlunya.
- Pengoptimalan biaya: Beban kerja dapat mencapai skala yang lebih tinggi dari satu VM, atau sekumpulan kecil VM, sambil menghubungkan ke berbagi file SSD. Ini dapat mengurangi total biaya kepemilikan dengan mengurangi jumlah VM yang diperlukan untuk menjalankan dan mengelola beban kerja.
- Penskalakan performa klien Linux: Klien Linux SMB sekarang dapat memanfaatkan multisaluran untuk meningkatkan throughput dan IOPS yang mirip dengan Windows.
- Konsistensi lintas platform: Memungkinkan lingkungan hibrid dengan klien Windows dan Linux mencapai performa optimal.
- Ketahanan: Beberapa saluran meningkatkan toleransi kesalahan atas jaringan heterogen.
Untuk informasi selengkapnya tentang SMB Multichannel, lihat dokumentasi Windows.
Fitur ini memberikan manfaat performa yang lebih besar untuk aplikasi multi-utas tetapi biasanya tidak membantu aplikasi utas tunggal. Lihat bagian Perbandingan performa untuk detail selengkapnya.
Batasan
Berbagi file SMB Multichannel for Azure saat ini memiliki batasan berikut:
- Hanya tersedia untuk berbagi file SSD. Tidak tersedia untuk berbagi file HDD.
- Hanya didukung pada klien yang menggunakan SMB 3.1.1. Pastikan sistem operasi klien SMB di-patch ke tingkat yang direkomendasikan.
- Jumlah maksimum saluran adalah empat. Untuk detailnya, lihat di sini.
Konfigurasi Windows
SMB Multichannel hanya berfungsi saat fitur diaktifkan di sisi klien (klien Anda) dan sisi layanan (akun penyimpanan Azure Anda).
Pada klien Windows, SMB Multichannel diaktifkan secara default. Anda dapat memverifikasi konfigurasi dengan menjalankan perintah PowerShell berikut:
Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel
Jika SMB Multichannel tidak diaktifkan di akun penyimpanan Azure Anda, lihat status SMB Multichannel.
Menonaktifkan SMB Multichannel
Dalam sebagian besar skenario, terutama beban kerja multi-alur, klien melihat peningkatan performa dengan SMB Multichannel. Namun, untuk beberapa skenario tertentu seperti beban kerja berulir tunggal atau untuk tujuan pengujian, Anda mungkin ingin menonaktifkan SMB Multichannel. Lihat Perbandingan performa dan status SMB Multichannel untuk detail selengkapnya.
Pastikan SMB Multichannel dikonfigurasi dengan benar
- Buat berbagi berkas SSD baru atau gunakan berbagi berkas SSD yang sudah ada.
- Pastikan klien Anda mendukung SMB Multichannel (satu atau beberapa adaptor jaringan mengaktifkan penskalaan sisi penerima). Lihat dokumentasi Windows untuk detail selengkapnya.
- Pasang share file ke perangkat klien Anda.
- Membuat beban dengan aplikasi Anda. Alat salinan seperti robocopy/MT, atau alat performa apa pun seperti Diskspd untuk membaca/menulis file dapat menghasilkan beban.
- Buka PowerShell sebagai admin dan gunakan perintah berikut:
Get-SmbMultichannelConnection |fl - Cari properti MaxChannels dan CurrentChannels .
Perbandingan performa
Ada dua kategori pola beban kerja baca/tulis: utas tunggal dan multi-utas. Sebagian besar beban kerja menggunakan beberapa file, tetapi mungkin ada kasus penggunaan khusus di mana beban kerja bekerja dengan satu file di dalam sistem berbagi. Bagian ini mencakup kasus penggunaan yang berbeda dan dampak performa untuk masing-masing kasus. Secara umum, sebagian besar beban kerja bersifat paralel dan mendistribusikan beban kerja melalui beberapa file sehingga mereka harus mengalami peningkatan performa yang signifikan dengan SMB Multichannel.
- Multi-utas/beberapa file: Bergantung pada pola beban kerja, Anda akan melihat peningkatan performa yang signifikan dalam membaca dan menulis I/Os melalui beberapa saluran. Perolehan performa bervariasi mulai dari 2x hingga 4x berkaitan dengan IOPS, throughput, dan latensi. Untuk kategori ini, SMB Multichannel harus diaktifkan untuk performa terbaik.
- Multi-utas/file tunggal: Untuk sebagian besar kasus penggunaan dalam kategori ini, beban kerja mendapatkan manfaat ketika SMB Multichannel diaktifkan, terutama jika beban kerja memiliki ukuran > I/O rata-rata ~16k. Beberapa contoh skenario yang mendapatkan keuntungan dari SMB Multichannel adalah pencadangan atau pemulihan satu file besar. Pengecualian di mana Anda mungkin ingin menonaktifkan SMB Multichannel adalah jika beban kerja Anda berat pada I/Os kecil. Dalam hal ini, Anda mungkin mengamati sedikit kehilangan performa ~10%. Bergantung pada kasus penggunaan, pertimbangkan untuk menyebarkan beban ke beberapa file, atau menonaktifkan fitur tersebut.
- File tunggal/banyak file atau satu file: Untuk sebagian besar beban kerja yang menggunakan utas tunggal, manfaat performa minimum karena kurangnya paralelisme. Biasanya ada sedikit penurunan performa 10% jika SMB Multichannel diaktifkan. Dalam hal ini, sangat ideal untuk menonaktifkan SMB Multichannel, dengan satu pengecualian. Jika beban kerja berutas tunggal dapat mendistribusikan beban di beberapa file dan menggunakan ukuran I/O rata-rata yang lebih besar (lebih besar dari 16 KiB), maka dapat memberikan sedikit manfaat pada performa dari SMB Multichannel.
Konfigurasi pengujian performa
Untuk bagan dalam artikel ini, konfigurasi berikut digunakan: Satu Standar D32 v3 VM dengan satu NIC berkemampuan RSS dengan empat saluran. Beban dihasilkan menggunakan diskspd.exe, beberapa alur dengan kedalaman IO 10, dan I/Os acak dengan berbagai ukuran I/O.
Pemrosesan multi-utas/banyak file dengan SMB Multichannel
Beban dihasilkan untuk 10 file dengan ukuran IO yang bervariasi. Hasil pengujian peningkatan skala menunjukkan peningkatan yang signifikan pada hasil pengujian IOPS dan throughput ketika SMB Multichannel diaktifkan. Diagram berikut menggambarkan hasilnya:
- Pada satu NIC, untuk membaca, peningkatan performa 2x-3x diamati, dan untuk menulis, peningkatan 3x-4x dalam hal IOPS dan throughput.
- SMB Multichannel memungkinkan IOPS dan throughput mencapai batas VM bahkan dengan satu NIC dan empat batas saluran.
- Karena egress (baca dari penyimpanan) tidak diukur, throughput baca dapat melebihi batas VM yang diterbitkan sekitar 1,86 GiB/detik, mencapai lebih besar dari 2,7 GiB/detik. Ingress (menulis ke penyimpanan) tetap tunduk pada batas throughput VM.
- Menyebarkan beban melalui beberapa file memungkinkan penyempurnaan yang substansial.
Contoh perintah yang digunakan dalam pengujian ini adalah:
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 .
Beban kerja multi-thread/file tunggal dengan SMB Multichannel
Beban dihasilkan terhadap suatu file berukuran 128 GiB. Dengan mengaktifkan SMB Multichannel, pengujian penskalaan dengan multi-thread/file tunggal menunjukkan peningkatan di sebagian besar kasus. Diagram berikut menggambarkan hasilnya:
Diagram performa throughput file tunggal.
- Pada satu NIC dengan ukuran I/O rata-rata yang lebih besar (lebih besar dari 16 KiB), ada peningkatan signifikan dalam baca dan tulis.
- Untuk ukuran I/O yang lebih kecil, ada sedikit dampak sekitar 10% pada performa dengan SMB Multichannel diaktifkan. Ini dapat dikurangi dengan menyebarkan beban melalui beberapa file, atau menonaktifkan fitur.
- Performa masih terikat oleh batas file tunggal.
Penembolokan metadata untuk berbagi file SSD
Pencaching metadata adalah peningkatan untuk berbagi file Azure SSD yang mengurangi latensi metadata dan meningkatkan batas skala metadata. Fitur ini meningkatkan konsistensi latensi dan IOPS yang tersedia, dan meningkatkan throughput jaringan. Klien Windows dan Linux dapat menggunakannya.
Fitur ini meningkatkan performa API metadata berikut:
- Buat
- Buka
- Tutup
- Hapus
Saat ini, fitur ini hanya tersedia untuk berbagi file SSD. Tidak ada biaya tambahan yang terkait dengan penggunaan fitur ini. Anda juga dapat mendaftar untuk meningkatkan batas handle berkas pada berbagi berkas SSD (pratinjau).
Mendaftar untuk fitur penyimpanan cache metadata
Untuk memulai, daftarkan fitur menggunakan portal Azure atau Azure PowerShell.
- Masuk ke portal Microsoft Azure.
- Cari dan pilih Fitur pratinjau.
- Pilih filter Jenis dan pilih Microsoft.Storage.
- Pilih Cache Metadata Azure Premium Files lalu pilih Daftar.
Penting
Meskipun tercantum di bawah Fitur Pratinjau, kami menghormati GA SLA. Setelah mendaftarkan fitur, hubungi tim Azure Files untuk instruksi lebih lanjut.
Peningkatan performa dengan penyimpanan sementara metadata
Sebagian besar beban kerja atau pola penggunaan yang berisi metadata dapat memperoleh manfaat dari penyimpanan sementara metadata. Untuk menentukan apakah beban kerja Anda berisi metadata, Anda dapat menggunakan Azure Monitor untuk membagi transaksi berdasarkan dimensi API.
Beban kerja dan pola penggunaan yang sarat metadata yang khas meliputi:
- Layanan web/aplikasi
- Tugas DevOps
- Pekerjaan batch/pengindeksan
- Desktop virtual dengan direktori rumah atau beban kerja lain yang terutama berinteraksi dengan banyak file kecil, direktori, atau handle
Diagram berikut menggambarkan hasil potensial.
Mengurangi latensi metadata
Dengan penyimpanan cache file dan jalur direktori untuk pencarian yang akan datang, penyimpanan cache metadata dapat mengurangi latensi pada file dan direktori yang sering diakses berulang kali sebesar 30% atau lebih untuk beban kerja metadata berskala besar.
Meningkatkan IOPS yang tersedia
Penembolokan metadata dapat meningkatkan IOPS yang tersedia lebih dari 60% untuk beban kerja yang berat akan metadata dalam skala besar.
Meningkatkan throughput jaringan
Penembolokan metadata dapat meningkatkan throughput jaringan lebih dari 60% untuk beban kerja dengan metadata yang banyak pada skala besar.
Mendaftar untuk peningkatan batas file handle (pratinjau)
Untuk meningkatkan jumlah maksimum handle bersamaan per file dan direktori untuk berbagi file SMB di SSD dari 2.000 menjadi 10.000, mendaftar untuk fitur pratinjau menggunakan Azure portal atau Azure PowerShell. Jika Anda memiliki pertanyaan, hubungi tim Azure Files.
- Masuk ke portal Microsoft Azure.
- Cari dan pilih Fitur pratinjau.
- Pilih filter Jenis dan pilih Microsoft.Storage.
- Pilih Azure Premium Files Peningkatan Jumlah Handel Maksimum yang Dibuka lalu pilih Daftar.
Langkah berikutnya
- Periksa status SMB Multichannel
- Lihat dokumentasi Windows untuk SMB Multichannel