Яка типова ефективність обміну файлами Windows (SMB) в гігабітній Ethernet-мережі?


10

Нещодавно я налаштував обмін файлами Windows через гігабітну мережу Ethernet (я не використовую рамки jumbo) із сервером Samba та клієнтом Windows Vista. Я зробив кілька копій файлів, але максимальна пропускна здатність, яку я бачу, становить 20 МБ / с (мегабайти, а не мегабіти), що становить близько 15% від теоретичного максимуму 125 МБ / с для мережі. На сервері є масив RAID, який може управляти приблизно 75 Мб / с (вузьким місцем є шина PCI), а клієнт може управляти приблизно 40 Мб / с в копії з диска на диск.

Додам, що іншого трафіку в мережі на той час не було.

Я розумію, що ніколи не отримаю теоретичного максимуму, але не думав, що це буде так погано.

Яка типова ефективність обміну файлами Windows (SMB) в гігабітній Ethernet-мережі?

Бонусні бали: що я можу налаштувати (окрім використання рамки джамбо), щоб зробити це швидше?


2
Я вирішив проблеми з продуктивністю в моїй мережі: вони були поєднанням поганого бортового NIC на сервері та старих драйверів NIC на клієнті. Зараз я бачу від 50 Мб / с до 80 Мб / с у кількох об'ємних копіях, які я зробив для тестування. Хоча, здається, передачі час від часу несподівано призупиняються на кілька секунд.
Кайпро II

1
Ще однією причиною моєї низької продуктивності мережі було те, що просто запустивши віртуальний ПК (не обов'язково запускаючи будь-які зображення), щось здається, що зменшує мій NIC до ~ 100 Мбіт / с на моїй машині Vista.
Кайпро II

Відповіді:


8

Якість ваших мережевих карт, комутаторів та кабелів може вплинути. Можливо, варто пошукати огляди НІК та комутаторів, які ви використовуєте, щоб побачити, чи не повідомляють вони інші про недостатню роботу. Я хочу сказати, що вбудовані в мотикові плати NIC гірші від передачі Гбіт, хоча, на мій досвід, це, мабуть, не має великої різниці в моєму середовищі.

В якості орієнтиру я лише встановив нові Gbit комутатори в нашому офісі (замінивши старі перемикачі 100 Мбіт) і великі перекази SMB працюють із близькою (але менше) 30 Мбайт / с між кожною комбінацією перевірених нами машин. Я щойно зробив швидкий тест з netcat між двома машинами і отримав подібні результати, тому не думаю, що SMB є вузьким місцем. Дві машини, які я тільки тестував, мають між собою два перемикачі, які можуть мати ефект, але я думаю, що ефект мінімальний, враховуючи, наскільки близькі цифри, куди потрібно перенести SMB на машину на одному комутаторі.

Найкраща швидкість передачі, яку я бачив у мережі Gbit, була найменш сором’язливою 50 Мбайт / сек. Це було під час передачі зображення приводу з однієї машини в файл на іншій (для перетворення на віртуальний привід VMWare. У цьому випадку обидва машини були підключені за допомогою короткого перехресного кабелю, а не через комутатор. Випадково одна з розглянутих машин була однією з машин, які я щойно перевірив і отримав ~ 29 Мбайт / сек від - найімовірнішим винуватцем основного вузького місця в моєму випадку, мабуть, була 8-річна електропроводка в будівлі, яка, можливо, була зроблена. Швидкий (і настільки ж ненауковий) тест у моїй маленькій домашній мережі бачить швидкість передачі даних більше, ніж 35 Мбайт / сек копіює файл із спільної частки Samba у вікно Windows та 25 Мбайт / сек в інший бік (я '

Кадри Jumbo збираються змінити об'ємні передачі, тому я пропоную вам спробувати, якщо весь ваш комплект підтримує їх належним чином.

Якщо коротко сказати: за анекдотичним досвідом ваш 20 Мбайт / сек трохи повільний, але не дуже. Всі мої установки Windows та Samba майже повністю не налаштовані, тому я підозрюю, що ваша апаратура / електропроводка - це різниця між тим, що я бачу, і тим, що ви бачите.

Редагувати

Звичайно, через п’ять років від цієї відповіді апаратне та програмне забезпечення пройшло далі. Я часто бачу 90+ MiB / сек передачі на машинах з мережевою мережею Gbit навіть з дешевим набором. Мій домашній медіа / резервний / інший сервер здається обмеженим трохи більше 60 для масової передачі, але це, здається, самба, пов'язане з процесором на одній ядрі апаратури коробки.


Кабельне не повинно бути проблемою для мене, гігабітна частина моєї мережі повністю CAT6. Я не можу використовувати рамки jumbo, тому що моя (домашня) мережа неоднорідна - у мене є Wi-Fi і 100Mbit сегмент - і я розумію, що jumbo кадри є лише гігабітними. Хоча, якби я міг обмежити рамки jumbo певними парами хостів, це може спрацювати. Це хороший момент щодо обладнання. Все моє - це споживач; Мені доведеться розібратися в цьому. Ще одна думка, яку я мав - це те, як підключені вбудовані NIC, може бути проблемою. Якщо хтось знаходиться на шині PCI, це може бути фактором.
Кайпро II

1
ви не маєте на увазі "ваш 20 Мбайт / сек трохи повільний, але не дуже" (там з'їли кінець)? інакше +1, приємна реєстрація.
кихат шарлатан

Хороший улов ~ шарлатан, належним чином відредагований.
Девід Спіллетт

arrrgh. на жаль, я не можу редагувати коментарі, або я перестав би їсти кінець ...
шарлатаний кіхот

4

Ааа ... саме тут хлопцеві сервера важливо зрозуміти, що знаходиться під кришкою. Оскільки це два роки, я вважаю, що він це вже вирішив. Однак для нащадків чи когось із подібним питанням він, напевно, натрапив на це

(Розмір вікна TCP * 8 біт / RTT в мілісекундах) = Максимальна пропускна здатність TCP в проміле

Хоча у вас може бути мережа Gigabit, один потік TCP, швидше за все, не зможе досягти такого високого рівня.

Ось проста таблиця, припускаючи, що у вас є стандартний розмір вікна 65535Byte TCP у Vista

RTT 10 мс => Пропускна здатність TCP = 52428000 bps = 52Mbps

RTT 20 мс => Пропускна здатність TCP = 26214000 bps = 26Mbps

RTT 50 мс => Пропускна здатність TCP = 10485600 bps = 10Mbps

RTT 100 мс => Пропускна здатність TCP = 5242800 bps = 5.2Mbps

RTT 150 мс => Пропускна здатність TCP = 3495200 bps = 4,3 Мбіт / с

RTT 200 мс => Пропускна здатність TCP = 2621400 bps = 2,5Mbps

RTT 300 мс => Пропускна здатність TCP = 1747600 bps = 1,7Mbps

RTT 500 мс => Пропускна здатність TCP = 1048560 bps = 1Mbps

При 20 Мбайт / сек або 160 Мбіт / сек ваша затримка в обидва кінці, ймовірно, складає близько 3 мілісекунд. Єдиний інший спосіб прискорити це - за допомогою оптимізаторів TCP, які видаляють повторно через дріт або з'єднують фрагменти у більші пакети. Через локальну мережу, яка, швидше за все, не принесе вам великих витрат. Якщо ви використовуєте передачу SoHo, наприклад, Linksys або Netgear, ваша затримка, ймовірно, вводиться через відсутність загальних буферів на комутаторі. Якщо це більш великий комутатор, як 24-портовий, спробуйте переконатися, що два пристрої підключені до одного ASIC. Це допоможе затримати серіалізацію, але не набагато. Якщо ви можете знизити його до 2 мс, ви отримаєте збільшення до приблизно 31-32 Мбайт / сек. Якщо вони перебувають на двох різних комутаторах, без нового обладнання не обійтися.


2

Не те, що це допомагає вам у цьому випадку, але Vista / Windows 7, розмовляючи з сервером Windows 2008, використовуватиме SMB2, який набагато ефективніше звичайного SMB та використовує набагато більше пропускної здатності мережі. Докладніші відомості див. У поліпшенні продуктивності файлового сервера за протоколом SMB2 у Windows Server 2008 та вдосконаленої продуктивності мережі в Microsoft Windows Vista та Windows Server 2008 .

SMB2 працює над Samba 4, але, схоже, підтримується Samba 3.5 .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.