Praktik terbaik performa SMB untuk Azure NetApp Files

Artikel ini membantu Anda memahami performa SMB dan praktik terbaik untuk Azure NetApp Files.

SMB Multichannel

SMB Multisaluran diaktifkan secara default dalam share SMB. Semua share SMB sebelum volume SMB yang ada telah mengaktifkan fitur ini, dan semua volume yang baru dibuat juga akan mengaktifkan fitur ini pada saat pembuatan.

Setiap koneksi SMB yang dibuat sebelum pengaktifkanan fitur perlu diatur ulang untuk memanfaatkan fungsionalitas SMB Multisaluran. Untuk mengatur ulang, Anda dapat memutuskan dan menyambungkan kembali share SMB.

Windows telah mendukung SMB Multisaluran sejak Windows 2012 untuk mengaktifkan performa terbaik. Untuk selengkapnya, lihat Menyebarkan SMB Multisaluran dan Dasar-dasar SMB Multisaluran.

Manfaat SMB Multisaluran

Fitur SMB Multisaluran memungkinkan klien SMB3 untuk membuat kumpulan koneksi melalui satu kartu antarmuka jaringan (NIC) atau beberapa NIC dan menggunakannya untuk mengirim permintaan untuk satu sesi SMB. Sebaliknya, menurut desain, SMB1 dan SMB2 mengharuskan klien untuk membuat satu koneksi dan mengirim semua lalu lintas SMB untuk sesi tertentu melalui koneksi itu. Koneksi tunggal ini membatasi performa protokol secara keseluruhan yang dapat dicapai dari satu klien.

Performa untuk SMB Multisaluran

Pengujian dan grafik berikut menunjukkan kekuatan SMB Multisaluran pada beban kerja instans tunggal.

I/O acak

Dengan SMB Multichannel dinonaktifkan pada klien, uji baca dan tulis 4 KiB murni dilakukan menggunakan FIO dan set kerja 40 GiB. Share SMB dilepas di antara setiap pengujian, dengan peningkatan jumlah koneksi klien SMB per pengaturan antarmuka jaringan RSS 1, 4, 8, 16, set-SmbClientConfiguration -ConnectionCountPerRSSNetworkInterface <count>. Tes ini menunjukkan bahwa pengaturan default 4 cukup untuk beban kerja intensif I /O; meningkatkan ke 8 dan 16memiliki efek yang dapat diabaikan.

Perintah netstat -na | findstr 445 membuktikan bahwa koneksi tambahan dibuat dengan kenaikan dari ke 1 ke 4 ke 8 dan ke 16. Empat inti CPU sepenuhnya digunakan untuk SMB selama setiap uji, sebagaimana dikonfirmasi oleh statistik Per Processor Network Activity Cycles perfmon (tidak termasuk dalam artikel ini.)

Chart that shows random I/O comparison of SMB Multichannel.

Komputer virtual Azure tidak mempengaruhi batas I/O penyimpanan SMB (atau NFS). Seperti yang ditunjukkan pada bagan berikut, jenis instans D32ds memiliki tingkat terbatas 308.000 untuk IOPS penyimpanan di cache dan 51.200 untuk IOPS penyimpanan yang tidak di cache. Namun, grafik di atas menunjukkan I/O yang jauh lebih banyak daripada SMB.

Chart that shows random I/O comparison test.

IO Berurutan

Uji yang mirip dengan uji I/O acak yang dijelaskan sebelumnya dilakukan dengan I/O berurutan 64-KiB. Meskipun peningkatan jumlah koneksi klien per antarmuka jaringan RSS di luar 4' tidak memiliki efek nyata pada I/O acak, hal yang sama tidak berlaku untuk I/O berurutan. Seperti yang ditunjukkan oleh grafik berikut, setiap peningkatan dikaitkan dengan peningkatan throughput baca yang sesuai. Throughput tulis tetap datar karena pembatasan bandwidth jaringan yang ditempatkan oleh Azure untuk setiap jenis/ukuran instans.

Chart that shows throughput test comparison.

Azure menempatkan batas laju jaringan pada setiap jenis/ukuran komputer virtual. Batas laju hanya diberlakukan pada lalu lintas keluar. Jumlah NIC yang ada pada komputer virtual tidak berpengaruh pada jumlah total bandwidth yang tersedia untuk komputer. Misalnya, jenis instans D32ds memiliki batas jaringan yang diberlakukan sebesar 16.000 Mbps (2.000 MiB/s). Seperti yang ditunjukkan grafik berurutan di atas, batas tersebut mempengaruhi lalu lintas keluar (tulis) tetapi tidak lalu lintas baca multisaluran.

Chart that shows sequential I/O comparison test.

SMB Signing

Protokol SMB menyediakan dasar untuk berbagi file dan cetak serta operasi jaringan lainnya seperti administrasi Windows jarak jauh. Untuk mencegah serangan man-in-the-middle yang memodifikasi paket SMB saat transit, protokol SMB mendukung penandatanganan paket SMB secara digital.

Penandatanganan SMB didukung untuk semua versi protokol SMB yang didukung oleh Azure NetApp Files.

Dampak performa penandatanganan SMB

Penandatanganan SMB memiliki efek buruk pada performa SMB. Di antara potensi penyebab lain dari penurunan performa, penandatanganan digital setiap paket mengkonsumsi CPU sisi klien tambahan seperti yang ditunjukkan oleh output perfmon di bawah ini. Dalam hal ini, Core 0 tampak bertanggung jawab atas SMB, termasuk Penandatanganan SMB. Perbandingan dengan nomor throughput baca berurutan non-multisaluran di bagian sebelumnya menunjukkan bahwa Penandatanganan SMB mengurangi keseluruhan throughput dari 875MiB/s menjadi sekitar 250MiB/s.

Chart that shows SMB Signing performance impact.

Performa untuk satu instans dengan himpunan data 1-TB

Untuk memberikan wawasan yang lebih rinci tentang beban kerja dengan campuran baca/tulis, dua bagan berikut menunjukkan performa volume cloud tingkat layanan Ultra tunggal 50 TB dengan himpunan data 1-TB dan dengan SMB multisaluran 4. IODepth optimal 16 digunakan, dan parameter Flexible IO (FIO) digunakan untuk memastikan penggunaan penuh bandwidth jaringan (numjobs=16).

Bagan berikut menunjukkan hasil untuk I/O acak 4k, dengan satu instans VM dan campuran baca/tulis pada interval 10%:

Chart that shows Windows 2019 standard _D32ds_v4 4K random IO test.

Bagan berikut ini memperlihatkan hasil untuk I/O berurutan:

Chart that shows Windows 2019 standard _D32ds_v4 64K sequential throughput.

Performa saat penskalaan menggunakan 5 VM dengan himpunan data 1-TB

Pengujian dengan 5 VM ini menggunakan lingkungan pengujian yang sama dengan VM tunggal, dengan setiap proses menulis ke filenya sendiri.

Bagan berikut ini memperlihatkan hasil untuk I/O acak:

Chart that shows Windows 2019 standard _D32ds_v4 4K 5-instance randio IO test.

Bagan berikut ini memperlihatkan hasil untuk I/O berurutan:

Chart that shows Windows 2019 standard _D32ds_v4 64K 5-instance sequential throughput.

Cara memantau adapter ethernet Hyper-V

Salah satu strategi yang digunakan dalam pengujian dengan FIO adalah mengatur numjobs=16. Melakukanhal tersebut, membagi setiap pekerjaan ke dalam 16 instans tertentu untuk memaksimalkan Microsoft Hyper-V Network Adapter.

Anda dapat memeriksa aktivitas pada setiap adaptor di Monitor Performa Windows dengan memilih Monitor Performa Tambahkan Penghitung >> Antarmuka > Jaringan Microsoft Hyper-V Network Adapter.

Screenshot that shows Performance Monitor Add Counter interface.

Setelah Anda menjalankan lalu lintas data dalam volume, Anda dapat memantau adapter Anda di Windows Performance Monitor. Jika Anda tidak menggunakan semua dari 16 adapter virtual ini, Anda mungkin tidak memaksimalkan kapasitas bandwidth jaringan Anda.

Screenshot that shows Performance Monitor output.

Enkripsi SMB

Bagian ini membantu Anda memahami enkripsi SMB (SMB 3.0 dan SMB 3.1.1)

Enkripsi SMB menyediakan enkripsi data SMB end-to-end dan melindungi data dari kejadian pasang telinga pada jaringan yang tidak terpercaya. Enkripsi SMB didukung pada SMB 3.0 dan yang lebih besar.

Saat mengirim permintaan ke penyimpanan, klien mengenkripsi permintaan, yang kemudian didekripsi penyimpanan. Respons dienkripsi dengan cara yang sama oleh server dan didekripsi oleh klien.

Windows 10, Windows 2012, dan versi yang lebih baru mendukung enkripsi SMB.

Enkripsi SMB dan Azure NetApp Files

Enkripsi SMB diaktifkan di tingkat berbagi untuk Azure NetApp Files. SMB 3.0 menggunakan algoritma AES-CCM, sedangkan SMB 3.1.1 menggunakan algoritma AES-GCM.

Enkripsi SMB tidak diperlukan. Dengan demikian, enkripsi hanya diaktifkan untuk share yang diberikan jika pengguna meminta agar Azure NetApp Files mengaktifkannya. Share Azure NetApp Files tidak pernah terekspos ke internet. Share Azure NetApp Files hanya dapat diakses dari dalam VNet tertentu, melalui VPN atau rute ekspres, sehingga share Azure NetApp Files secara inheren aman. Pilihan untuk mengaktifkan enkripsi SMB sepenuhnya terserah pengguna. Waspadai penalti performa yang diantisipasi sebelum mengaktifkan fitur ini.

Dampak enkripsi SMB pada beban kerja klien

Meskipun enkripsi SMB berdampak pada klien (overhead CPU untuk mengenkripsi dan mendekripsi pesan) dan penyimpanan (pengurangan throughput), tabel berikut hanya menyoroti dampak penyimpanan. Anda harus menguji dampak performa enkripsi terhadap aplikasi Anda sendiri sebelum menerapkan beban kerja ke dalam produksi.

Profil I/O Dampak
Beban kerja baca dan tulis 10% hingga 15%
Metadata intensif 5%

Penjaringan Dipercepat

Untuk kinerja maksimum, disarankan agar Anda mengonfigurasi Jaringan Dipercepat pada komputer virtual Anda jika memungkinkan. Ingatlah pertimbangan berikut:

  • Portal Microsoft Azure memungkinkan Jaringan Dipercepat secara default untuk komputer virtual yang mendukung fitur ini. Namun, metode penyebaran lain seperti Ansible dan alat konfigurasi serupa mungkin tidak. Kegagalan untuk mengaktifkan Jaringan Dipercepat dapat membuat performa komputer tertatih-tatih.
  • Jika Jaringan Dipercepat tidak diaktifkan pada antarmuka jaringan komputer virtual akibat kurangnya dukungan untuk jenis atau ukuran instans, Jaringan Dipercepat akan tetap dinonaktifkan pada jenis instans yang lebih besar. Anda akan membutuhkan intervensi manual dalam kasus-kasus tersebut.
  • Tidak perlu mengatur jaringan yang dipercepat untuk NIC di subnet khusus Azure NetApp Files. Jaringan yang dipercepat adalah kemampuan yang hanya berlaku untuk komputer virtual Azure. NIC Azure NetApp Files dioptimalkan berdasarkan desain.

RSS

Azure NetApp Files mendukung receive-side-scaling (RSS).

Dengan diaktifkannya SMB Multisaluran, klien SMB3 membuat beberapa koneksi TCP ke server SMB Azure NetApp Files melalui kartu antarmuka jaringan (NIC) yang mampu melakukan RSS tunggal.

Untuk melihat apakah NIC komputer virtual Azure Anda mendukung RSS, jalankan perintah Get-SmbClientNetworkInterface sebagai berikut dan periksa bidang RSS Capable:

Screenshot that shows RSS output for Azure virtual machine.

Beberapa NIC pada klien SMB

Anda tidak boleh mengonfigurasi beberapa NIC pada klien Anda untuk SMB. Klien SMB akan mencocokkan jumlah NIC yang dikembalikan oleh server SMB. Setiap volume penyimpanan dapat diakses dari satu dan hanya satu titik akhir penyimpanan. Itu berarti bahwa hanya satu NIC yang akan digunakan untuk setiap hubungan SMB yang diberikan.

Seperti yang ditunjukkan oleh output Get-SmbClientNetworkInterace di bawah ini, komputer virtual tersebut memiliki 2 antarmuka jaringan--15 dan 12. Seperti yang ditunjukkan di bawah perintah Get-SmbMultichannelConnection berikut, meskipun ada dua NICS berkemampuan RSS, hanya antarmuka 12 yang digunakan sehubungan dengan share SMB; antarmuka 15 tidak digunakan.

Screeshot that shows output for RSS-capable NICS.

Langkah berikutnya