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?
sumber
Jawaban:
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.
sumber
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.
sumber
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 .
sumber