Apa kinerja khas Windows File Sharing (SMB) pada jaringan ethernet gigabit?

10

Saya baru-baru ini mengatur berbagi file Windows melalui jaringan ethernet gigabit (saya tidak menggunakan frame jumbo) dengan server Samba dan klien Windows Vista. Saya telah melakukan beberapa salinan file, tetapi throughput maksimum yang saya lihat adalah 20MB / s (megabyte, bukan megabits) yaitu sekitar 15% dari maksimum 125MB / s teoritis untuk jaringan. Server memiliki array RAID yang dapat mengelola sekitar 75MB / s (bottleneck adalah PCI bus), dan klien dapat mengelola sekitar 40MB / s dalam salinan disk-ke-disk.

Saya harus menambahkan bahwa tidak ada lalu lintas lain di jaringan pada saat itu.

Saya mengerti saya tidak akan pernah mendapatkan hasil maksimal secara teori, tetapi saya tidak berpikir itu akan seburuk ini.

Apa kinerja khas Windows File Sharing (SMB) pada jaringan ethernet gigabit?

Poin bonus: apa yang bisa saya sesuaikan (selain menggunakan bingkai jumbo) untuk membuatnya lebih cepat?

Kaypro II
sumber
2
Saya telah memperbaiki masalah kinerja pada jaringan saya: mereka adalah kombinasi dari NIC on-board yang buruk pada server dan driver NIC lama pada klien. Saya sekarang melihat antara 50MB / s dan 80MB / s pada beberapa salinan massal yang saya lakukan untuk menguji. Meskipun demikian, transfer tampaknya berhenti secara tak terduga selama beberapa detik, dari waktu ke waktu.
Kaypro II
1
Penyebab lain dari kinerja jaringan saya yang buruk adalah dengan hanya menjalankan Virtual PC (tanpa harus memiliki gambar berjalan), sesuatu tampaknya mencekik NIC saya hingga ~ 100Mbps pada mesin Vista saya.
Kaypro II

Jawaban:

8

Kualitas kartu jaringan, sakelar, dan kabel semuanya dapat memiliki efek. Mungkin perlu mencari ulasan tentang NIC dan beralih yang Anda gunakan untuk melihat apakah orang lain melaporkannya sebagai tidak terlalu baik. Saya yakin bahwa NIC built-in-the-mothboard lebih buruk dari transfer Gbit, meskipun dalam pengalaman saya ini tampaknya tidak membuat banyak, jika ada, perbedaan di lingkungan saya.

Sebagai referensi, saya baru saja menginstal sakelar Gbit baru di kantor kami (menggantikan sakelar 100Mbit lama) dan transfer SMB besar berjalan hampir (tapi kurang dari) 30Mbyte / detik antara setiap kombinasi mesin yang saya uji. Saya baru saja melakukan tes cepat dengan netcat antara dua mesin dan mendapatkan hasil yang sama jadi saya tidak berpikir bahwa SMB adalah hambatannya. Dua mesin yang baru saja saya uji memang memiliki dua sakelar di antara keduanya yang mungkin memiliki efek, tetapi saya rasa efeknya minimal mengingat seberapa dekat angka di mana transfer SMB ke mesin pada sakelar yang sama.

Kecepatan transfer terbaik yang pernah saya lihat melalui jaringan Gbit adalah sedikit malu 50Mbyte / detik di tercepatnya. Ini saat mentransfer gambar drive dari satu mesin ke file di yang lain (untuk keperluan konversi ke drive virtual VMWare. Dalam hal ini kedua mesin terhubung melalui kabel cross-over pendek daripada melalui switch. Kebetulan salah satu mesin yang dimaksud adalah salah satu mesin yang baru saja saya uji dan dapatkan ~ 29Mbyte / detik dari - penyebab utama kemacetan utama dalam kasus saya mungkin adalah kabel berusia 8 tahun di gedung yang mungkin telah dilakukan murah! Tes cepat (dan juga tidak ilmiah) di jaringan rumah kecil saya melihat kecepatan transfer lebih seperti 35Mbyte / detik menyalin file dari share Samba ke kotak Windows dan 25Mbyte / detik di arah lain (saya '

Frame Jumbo akan membuat perbedaan untuk transfer massal, jadi saya sarankan Anda mencobanya jika semua kit Anda mendukungnya dengan benar.

Singkat cerita: mengikuti pengalaman anekdotal saya 20Mbyte / detik Anda agak lambat, tetapi tidak secara besar-besaran. Semua penginstalan Windows dan Samba saya sepenuhnya tidak dilepas, jadi saya curiga bahwa perangkat keras / kabel Anda adalah perbedaan antara apa yang saya lihat dan apa yang Anda lihat.

Edit

Tentu saja, lima tahun sejak jawaban ini, perangkat keras dan perangkat lunak telah pindah. Saya sering melihat 90+ transfer MiB / detik pada mesin dengan jaringan Gbit bahkan dengan kit murah. Media rumah saya / cadangan / server lain tampaknya terbatas sedikit lebih dari 60 untuk transfer massal tetapi tampaknya samba terikat dengan CPU pada satu inti dari perangkat keras kotak.

David Spillett
sumber
Pemasangan kabel seharusnya tidak menjadi masalah bagi saya, bagian gigabit dari jaringan saya sepenuhnya CAT6. Saya tidak dapat menggunakan frame jumbo karena jaringan (rumah) saya heterogen - Saya punya wifi dan segmen 100Mbit - dan ini pemahaman saya bahwa frame jumbo hanya gigabit. Padahal, jika saya bisa membatasi frame jumbo untuk pasangan host tertentu, itu mungkin berhasil. Itu poin bagus tentang perangkat keras. Semua milik saya adalah tingkat konsumen; Aku harus memeriksanya. Pikiran lain yang saya miliki adalah bagaimana NIC built-in terhubung mungkin menjadi masalah. Jika ada di bus PCI, itu bisa menjadi faktor.
Kaypro II
1
bukankah maksud Anda "20Mbyte / detik Anda agak lambat, tetapi tidak secara besar - besaran" (ada akhirnya)? jika tidak +1, langgan yang bagus.
Quack quixote
Tangkapan yang bagus ~ dukun, diedit dengan benar.
David Spillett
arrrgh. sayangnya saya tidak bisa mengedit komentar, atau saya akan berhenti makan akhirnya ...
dukun quixote
4

Ahh ... di sinilah penting bagi seorang pria server untuk memahami apa yang ada di bawah tenda. Karena ini adalah dua tahun saya pikir dia sudah menyelesaikannya. Namun untuk anak cucu atau siapa pun dengan masalah serupa apa yang mungkin dia temui adalah ini

(Ukuran jendela TCP * 8bits / RTT dalam milidetik) = Maks. Throughput TCP dalam bps

Meskipun Anda mungkin memiliki jaringan Gigabit, aliran TCP tunggal kemungkinan tidak akan bisa mencapai setinggi itu.

Berikut adalah tabel sederhana dengan asumsi Anda memiliki ukuran jendela TCP 65535Byte default di Vista

RTT 10 ms => TCP throughput = 52428000 bps = 52Mbps

RTT 20 ms => TCP throughput = 26214000 bps = 26Mbps

RTT 50 ms => TCP throughput = 10485600 bps = 10Mbps

RTT 100 ms => TCP throughput = 5242800 bps = 5.2Mbps

RTT 150 ms => TCP throughput = 3495200 bps = 4.3Mbps

RTT 200 ms => TCP throughput = 2621400 bps = 2.5Mbps

RTT 300 ms => TCP throughput = 1747600 bps = 1.7Mbps

RTT 500 ms => TCP throughput = 1048560 bps = 1Mbps

Pada 20Mbytes / detik atau 160Mbit / detik latensi pulang-pergi Anda kemungkinan sekitar 3 milidetik. Satu-satunya cara untuk mempercepat itu adalah dengan menggunakan pengoptimal TCP yang melakukan de-dup atas kabel atau menyatukan fragmen menjadi paket yang lebih besar. Melalui LAN yang kemungkinan tidak akan memberi Anda banyak biaya. Jika Anda menggunakan peralatan SoHo seperti Linksys atau Netgear, latensi Anda mungkin akan diperkenalkan oleh kurangnya buffer bersama pada sakelar. Jika ini adalah saklar yang lebih besar seperti port 24, coba pastikan bahwa kedua perangkat terhubung ke ASIC yang sama. Ini akan membantu penundaan serialisasi, tetapi tidak banyak. Jika Anda bisa menurunkannya ke 2ms Anda akan mendapatkan dorongan hingga sekitar 31-32Mbytes / detik. Jika keduanya menggunakan dua sakelar berbeda, tidak banyak yang dapat Anda lakukan tanpa perangkat keras baru.

Scott-CCIE24038
sumber
2

Bukan berarti ini membantu Anda dalam hal ini tetapi Vista / Windows 7 berbicara dengan Windows 2008 Server akan menggunakan SMB2 yang jauh lebih efisien daripada SMB biasa dan akan memanfaatkan lebih banyak bandwidth jaringan. Lihat peningkatan kinerja Server File dengan protokol SMB2 di Windows Server 2008 dan Peningkatan Kinerja Jaringan dengan Microsoft Windows Vista dan Windows Server 2008 untuk info lebih lanjut.

SMB2 sedang dikerjakan di Samba 4 tetapi sepertinya sedang di- backport ke Samba 3.5 .

Sim
sumber