Performa NAS: NFS vs Samba vs GlusterFS


31

Saya merencanakan infrastruktur penyimpanan bersama baru saya untuk sebuah peternakan server web kecil. Karena itu saya menjalankan banyak tes dengan banyak sistem file NAS. Dengan melakukan itu, saya mendapat beberapa hasil yang tidak terduga dan ingin tahu apakah seseorang di sini dapat mengkonfirmasi hal ini.

Singkatnya: Samba jauh lebih cepat daripada NFS dan GlusterFS untuk menulis file kecil.

Di sini yang saya lakukan: Saya menjalankan "rsync benchmark" sederhana dengan banyak file untuk membandingkan kinerja penulisan untuk file kecil. Untuk reproduksi yang lebih mudah, saya menjalankannya kembali sekarang dengan isi dari wordpress tar.gz.

  • GlusterFS mereplikasi 2: 32-35 detik , beban CPU tinggi
  • GlusterFS tunggal: 14-16 detik , beban CPU tinggi
  • Klien GlusterFS + NFS: 16-19 detik , beban CPU tinggi
  • Server kernel NFS + klien NFS (sinkronisasi): 32-36 detik , beban CPU sangat rendah
  • NFS kernel server + NFS client (async): 3-4 detik , beban CPU sangat rendah
  • Samba: 4-7 detik , beban CPU sedang
  • Disk langsung: <1 detik

Saya sama sekali bukan guru samba (saya pikir kontak terakhir saya adalah dengan samba 2.x), jadi saya tidak mengoptimalkan apa pun di sini - hanya konfigurasi out-of-the-box (paket debian / squeeze). Satu-satunya hal yang saya tambahkan "sinkronisasi selalu = ya" yang seharusnya menegakkan sinkronisasi setelah menulis (tetapi melihat hasil itu ..). Tanpa itu, tes di mana sekitar 1-2 detik lebih cepat.

Semua tes di mana dijalankan pada mesin yang sama (self-mount itu NAS ekspor), jadi tidak ada penundaan jaringan - kinerja protokol murni.

Node samping: Sebagai sistem file, saya menggunakan ext4 dan xfs. Hasil di atas dengan ext4. xfs tampil hingga 40% (lebih sedikit waktu) lebih baik. Mesin-mesin adalah contoh kecil EC2. Ekspor NAS menggunakan volume EBS, sumber (tar terekstraksi) pada disk ephemeral.

Jadi begini: Adakah yang bisa menjelaskan mengapa samba jauh lebih cepat?

Juga: Apakah kinerja NFS dengan server kernel dianggap mengerikan (dikalahkan oleh server GlusterFS NFS) dalam mode sinkronisasi? Adakah yang tahu cara menyetel ini?

Terima kasih, L


Lupa: Tindakan NFS adalah yang terbaik dari pasangan, di mana saya bermain-main dengan rsize, wsize, noatime, noac, udp vs tcp dan sebagainya.
Linus Ardberk

3
+1 untuk penelitian dan tolok ukur!
Bigbio2002

1
Kami telah mengamati perbedaan yang sama dalam kinerja CIFS vs NFS selama pengembangan dan pengujian SoftNAS. Saya dapat mengonfirmasi bahwa async NFS jauh lebih cepat daripada menyinkronkan NFS, dan Samba memang mendukung NFS untuk tolok ukur yang telah kami jalankan menggunakan perangkat lunak benchmark ATTO.

3
Ngomong-ngomong, apakah Anda me-reboot setiap mesin di antara tes untuk menghapus cache read disk?
Matt

Jawaban:


5

Kami menggunakan Samba secara luas, dan saya selalu menemukan itu biasanya lebih cepat daripada NFS di hampir semua kasus (dan saya hanya mengatakan hampir karena saya belum cukup membandingkannya).

Dari apa yang saya lihat setelah beberapa paket menangkap, protokol SMB bisa cerewet, tetapi versi terbaru dari Samba mengimplementasikan SMB2 yang keduanya dapat mengeluarkan beberapa perintah dengan satu paket, dan mengeluarkan beberapa perintah sambil menunggu ACK dari yang terakhir perintah untuk kembali. Ini telah sangat meningkatkan kecepatannya, setidaknya dalam pengalaman saya, dan saya tahu saya terkejut ketika pertama kali saya melihat perbedaan kecepatan juga - Mengatasi Kecepatan Jaringan - The Age Old Enquiry

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.