Mengatasi Masalah Kecepatan Jaringan - Umur Pertanyaan Lama

18

Saya mencari bantuan dengan apa yang saya yakin adalah pertanyaan lama. Saya mendapati diri saya dalam situasi kerinduan untuk memahami throughput jaringan lebih jelas, tetapi sepertinya saya tidak dapat menemukan informasi yang membuatnya "klik"

Kami memiliki beberapa server yang didistribusikan secara geografis, menjalankan berbagai versi Windows. Dengan asumsi kami selalu menggunakan satu host (desktop) sebagai sumber, ketika menyalin data dari host tersebut ke server lain di seluruh negeri, kami melihat perbedaan kecepatan yang tinggi. Dalam beberapa kasus, kita dapat menyalin data pada 12MB / s secara konsisten, dalam kasus lain, kita melihat 0,8 MB / s. Perlu dicatat, setelah menguji 8 tujuan, kami tampaknya selalu berada pada 0,6-0,8MB / s atau 11-12 MB / s. Di gedung yang paling kami perhatikan, kami memiliki koneksi OC-3 ke ISP kami.

Saya tahu ada banyak variabel yang berperan, tetapi saya kira saya berharap para pakar di sini dapat membantu menjawab beberapa pertanyaan dasar untuk membantu meningkatkan pemahaman saya.

1.) Untuk mesin yang lebih tua, menjalankan Windows XP, server 2003, dll, dengan kartu Ethernet 100Mbps dan latensi khas 72 ms, apakah suara 0,8 MB / s masuk akal? Atau apakah menurut Anda itu cukup lambat untuk mengindikasikan adanya masalah?

2.) Klasik "kecepatan tercepat matematika" dari "throughput = TCP window / latency," adalah, dalam kasus kami, dihitung hingga 0,8 MB / s (64Kb / 72 ms). Pemahaman saya adalah batas atas; Anda tidak akan pernah berharap untuk mencapai (karena overhead) apalagi melampaui kecepatan itu. Namun dalam beberapa kasus, kami melihat kecepatan 12,3 MB / s. Ada akselerator Steelhead yang tersebar di seluruh jaringan, dapatkah mereka menjelaskan tingkat transfer yang lebih tinggi?

3). Disarankan bahwa penggunaan SMB vs SMB2 dapat menjelaskan perbedaan dalam kecepatan. Memang, seperti yang diharapkan, paket menangkap menunjukkan keduanya digunakan tergantung pada versi OS dalam permainan, seperti yang kita harapkan. Saya mengerti apa yang menentukan SMB2 digunakan atau tidak, tapi saya ingin tahu apa jenis keuntungan kinerja yang dapat Anda harapkan dengan SMB2.

Masalah saya sepertinya adalah kurangnya pengalaman, dan yang lebih penting, perspektif, dalam hal apa dan tidak kecepatan jaringan yang masuk akal. Adakah yang bisa membantu menyampaikan konteks / perspektif?

Univ426
sumber
perbedaan kecepatan bukan hanya SMB vs SMB 2. ingat bahwa di vista dan di atas tumpukan jaringan tidak lagi berbasis * nix dan terintegrasi ke dalam OS yang memungkinkan latensi dan overhead yang jauh lebih rendah.
Jim B
Terima kasih Jim, itu baik untuk diketahui. Ya saya tahu ada satu miliar variabel hulu dan hilir tergantung di mana Anda mencari di tumpukan OSI. Seorang rekan kerja telah menawarkan bahwa mungkin perbedaan kecepatan hanya bisa menjadi masalah "SMB vs SMB2." Saya kira saya skeptis terhadap SMB2 (.1) memberi kami peningkatan kecepatan 10x, tapi sekali lagi, saya hanya tidak cukup berpengalaman dalam seni aracne untuk tahu;)
Univ426
Pertanyaan bagus! Adakah pembaruan tentang ini? Dan fwiw, kotak windows XP yang berbagi tetapi tidak "login" mentransfer file lebih cepat dari satu dengan pengguna yang login.
Chris K

Jawaban:

4

Rumus matematika yang Anda maksudkan sebenarnya adalah cara untuk menentukan pengaturan ukuran jendela transmisi paling efisien untuk TCP, bukan bandwidth aktual yang tersedia. TCP menggunakan mekanisme yang disebut sliding windows yang memungkinkan penyesuaian kecepatan pengiriman berdasarkan kondisi jaringan. Idenya adalah bahwa pemancar TCP akan mengirim lebih banyak data tanpa memerlukan pengakuan dari penerima. Jika ada kehilangan data maka jumlah data yang dikirim antara pengakuan berkurang, sehingga juga mengurangi bandwidth efektif.

Rumus yang dimaksud sebenarnya menentukan ukuran ideal jendela transmisi TCP berdasarkan latensi dan pulang-pergi latensi antara pasangan host tertentu. Idenya adalah memiliki ukuran jendela sehingga jumlah data 'dalam penerbangan' sesuai dengan apa yang dikenal sebagai produk bandwidth-delay. Misalnya, jika Anda memiliki 50 megabit per detik (6,25 megBYTES) dan latensi pulang pergi rata-rata 100 ms, maka Anda akan memiliki 6,25 * 0,1 = 625 kilobyte data. Ini akan menjadi nilai yang akan dinegosiasikan TCP (jika dikonfigurasi dengan benar). Karena karakteristik latensi dan bandwidth tautan Anda bervariasi, demikian juga ukuran jendela.

Yang Anda butuhkan adalah alat manajemen bandwidth seperti iperf (gratis) yang berjalan pada sumber dan berbagai tujuan Anda. Ini akan memberi Anda gambaran tentang jumlah aktual throughput yang mungkin (terlepas dari aplikasi lain) sambil juga memberikan beberapa wawasan tentang latensi. Menjalankan ping yang diperluas antar host juga akan memberikan gambaran umum tentang karakteristik latensi. Ketika Anda memiliki data ini, Anda akan memiliki gagasan yang lebih baik tentang apa yang harus Anda lihat sejauh throughput berjalan.

BTW - Penggunaan segala jenis pengoptimal LAN akan sering memasukkan kompresi data, optimisasi TCP, caching, dll. Meskipun praktis, ini dapat mengaburkan sifat dari tautan yang mendasarinya. Setelah Anda memiliki gagasan tentang bandwidth mentah / keterlambatan (dan kehilangan paket, berpotensi) Anda dapat melihat lebih dekat untuk memastikan berbagai host Anda diatur untuk mengambil keuntungan dari bandwidth yang tersedia.

rnxrx
sumber
Terima kasih atas info hebatnya rnxrx. Jendela geser yang digunakan dalam TCP sangat masuk akal. Dalam kasus kami, karena satu-satunya lalu lintas yang kami perhatikan adalah melalui TCP, jadi saya kira pertanyaan saya terfokus pada TCP. Kami telah menggunakan metode transfer data lain (seperti repliweb) dan kami telah mencapai throughput yang jauh lebih tinggi (hingga 11 MB / s). Saya tidak mengetahui produk penundaan bandwidth, itu bagus untuk diketahui!
Univ426
2

Coba "ping -l 8092" atau FTP atau HTTP untuk memeriksa apakah itu masalah SMB.

Pertama-tama: media apa yang Anda gunakan untuk menghubungkan komputer? Apa yang kita "100mpbs"? Ethernet? Anda tidak dapat menggunakannya untuk komputer "yang didistribusikan secara geografis", bukan?

Jika router "vpn over Internet" di antara komputer Anda dapat menggunakan tautan yang berbeda: satu cepat, yang lain tidak. Mereka dapat memilih tautan berdasarkan banyak parameter.

Tolong jelaskan jaringan Anda.

Itu bisa menjadi masalah MTU juga: beberapa tautan mungkin memiliki MTU yang berbeda.

Ilya
sumber
Terima kasih. Saya memperbarui pertanyaan untuk menjawab pertanyaan Anda. Ini adalah jaringan ethernet normal, dengan kartu jaringan 100 Mbps di host sumber.
Univ426
Josh, saya masih tidak bisa mengerti: ((Apakah Anda menghubungkan PC Anda dengan Server menggunakan 100BASE Ethernet? Bahkan jika Anda menggunakan 100BASE-LX10 (ethernet lebih dari dua serat optik) Anda tidak dapat menghubungkan dua komputer "di seluruh negeri": ia memiliki batas jarak sekitar 10 Kilometer. Dan dalam kasus Ethernet apakah Anda menggunakan sakelar (yang mana?) atau menghubungkan komputer secara langsung? Dan tolong katakan padaku tentang latensi: bagaimana Anda mendapatkan "72 ms"? Bagaimana Anda menghitungnya? Terima kasih
Ilya
Kita akan melalui LAN lokal ke interenet publik, ke pusat data dan kemudian ke server melalui intranet perusahaan. Latensi ditentukan menggunakan ping. Kami memang melalui beberapa sakelar seperti yang diharapkan. Switch terdekat memiliki kecepatan negosiasi otomatis yang dikonfirmasi dengan host 100Mbps. Semoga itu bisa membantu.
Univ426
1
nb - bandwidth yang sebenarnya Anda khawatirkan bukanlah 100M koneksi LAN Anda, tetapi tautan paling lambat di antara titik akhir. Ini bisa berupa tautan WAN Anda atau tautan perantara yang lebih lambat.
rnxrx
Itu poin yang bagus, saya akan memperbarui pertanyaan, tapi saya tahu kita terhubung ke ISP kami melalui OC-3. Saya harus membayangkan semuanya di hulu yang setidaknya 100Mbps, dan saya tahu infrastruktur di gedung adalah 100M atau 1G sampai ke koneksi itu.
Univ426
2

Banyak komentar dan pengguna telah menawarkan saran hebat di sini. Beberapa dari mereka cukup dekat dengan apa yang saya cari, tetapi saya juga cukup beruntung untuk bertemu dengan seorang veteran Jaringan dari perusahaan kami yang membantu memperjelas hal-hal. Saya pikir saya akan memposting temuan / pemahaman saya di sini untuk kepentingan orang lain. Silakan koreksi saya jika ada yang salah:

1.) Throughput maksimum sesi TCP tunggal dengan latensi 72ms dan jendela 64K benar sekitar 0,8 MB / s, menjadikan kecepatan itu masuk akal untuk utas tunggal, salinan sesi tunggal, seperti yang kami lakukan dengan robocopy.

2.) Perbedaan kecepatan ini tampaknya bermuara pada keefektifan metode transfer. Dalam kasus kami, kami menggunakan Robocopy dan Repliweb. Saya menemukan robocopy menggunakan sesi TCP tunggal, sedangkan Repliweb dapat membuka beberapa sesi untuk mengirim data.

3.) Penelitian dari situs web Microsoft tidak menunjukkan SMB2 memiliki keuntungan kinerja yang cukup besar dibandingkan SMB1. Namun, ada masalah dalam beberapa kasus dalam bagaimana OS menegosiasikan protokol mana yang akan digunakan, jadi orang harus mengetahui keduanya a.) Kasus mana SMB2 dapat digunakan, dan b.) Apakah SMB2 digunakan atau tidak berdasarkan pada tangkapan jaringan.

Saat ini, sepertinya Wire-shark dapat menentukan penggunaan protokol SMB2.

Saya harap ini membantu. Sekali lagi, pemahaman saya cukup sederhana di sini, jangan ragu untuk memperluas.

Univ426
sumber
1
Selain dari perhitungan bandwidth-delay, perlu diketahui bahwa SMB2 jauh meningkatkan kinerja melalui tautan latensi yang lebih tinggi, karena tidak menunggu server untuk mengakui penulisan sebelum mentransfer lebih banyak data. Kami sebenarnya melihat keuntungan throughput 10x dengan SMBv2 atas koneksi WAN kami menggunakan ROBOCOPY. Juga pertimbangkan utas / MT dengan robocopy jika Anda menyalin banyak file, secara default 8 hingga paralel.
rmalayter