Усунення швидкості в мережі - запит у віці


18

Я шукаю допомоги у тому, що я впевнений, це вікове питання. Я опинився в ситуації прагнення зрозуміти пропускну здатність мережі більш чітко, але я не можу знайти інформацію, яка змушує її "клацати"

У нас є кілька серверів, розподілених географічно, на яких працюють різні версії Windows. Якщо припустити, що ми завжди використовуємо один хост (робочий стіл) як джерело, коли копіюємо дані з цього хоста на інші сервери по всій країні, ми бачимо велику розбіжність у швидкості. У деяких випадках ми можемо копіювати дані зі швидкістю 12 Мб / с послідовно, в інших ми бачимо 0,8 Мб / с. Слід зазначити, що після тестування 8 напрямків, ми завжди здаємось, що це 0,6-0,8 МБ / с або 11-12 Мб / с. У будівлі, з якою ми переймаємось, ми маємо підключення OC-3 до нашого провайдера.

Я знаю, що в грі є багато змінних, але, мабуть, я сподівався, що тут експерти можуть допомогти відповісти на кілька основних питань, які допоможуть підняти моє розуміння.

1.) Для старих машин, на яких працює ОС Windows XP, сервер 2003 тощо, із 100-Мбіт / с Ethernet-карткою та типовою затримкою 72 мс, чи звучить 0,8 Мб / с? Або ви вважаєте, що це досить повільно, щоб вказати на проблему?

2.) Класична "найшвидша математична швидкість" "пропускна здатність = вікно TCP / затримка", в нашому випадку обчислюється до 0,8 Мб / с (64 Кб / 72 мс). Я розумію, що це верхня межа; що ви ніколи не розраховували б досягти (через накладні витрати), не кажучи вже про перевищення цієї швидкості. Однак у деяких випадках ми спостерігаємо швидкість 12,3 Мб / с. Є прискорювачі Steelhead, розкидані по мережі, чи можуть вони спричинити таку більш високу швидкість передачі?

3.) Припускається, що використання SMB проти SMB2 може пояснити різницю у швидкості. Дійсно, як і очікувалося, захоплення пакетів показує, що обидва використовуються залежно від версій ОС, що відтворюються, як ми і очікували. Я розумію, що визначає, чи використовується SMB2 чи ні, але мені цікаво дізнатися, який приріст продуктивності ви можете очікувати за SMB2.

Моя проблема просто здається відсутністю досвіду та, що ще важливіше, перспективним, з точки зору того, що таке, а не є розумні швидкості мережі. Чи може хтось допомогти надати контексту / перспективі?


різниця в швидкості не лише для SMB проти SMB 2. Пам'ятайте, що в Vista і вище мережевий стек вже не є додатком на основі * nix і інтегрується в ОС, що забезпечує набагато менші затримки і накладні витрати.
Джим Б

Дякую Джим, це добре знати. Так, я знаю, що існує мільярд змінних вгору і вниз за течією, залежно від місця пошуку OSI. Співробітник запропонував, що, можливо, різниця в швидкості може бути просто питанням "SMB vs. SMB2". Напевно, я скептично ставляться до SMB2 (.1), що дає нам 10-кратну швидкість, але знову ж таки, я просто недостатньо розбираюся в мистецтві aracne, щоб знати;)
Univ426,

Чудове запитання! Будь-які оновлення щодо цього? І fwiw, вікно Windows XP, яке обмінюється, але не "увійшло", передає файли швидше, ніж один із користувачем, який увійшов у систему.
Кріс К

Відповіді:


4

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

Розглянута формула фактично визначає ідеальне розмір цього вікна передачі TCP виходячи із затримки та затримки в обидва кінці між заданою парою хостів. Ідея полягає у тому, щоб розмістити вікно такого розміру, щоб кількість даних "у польоті" відповідало тому, що відомо як продукт затримки пропускної здатності. Наприклад, якщо у вас 50 мегабіт в секунду (6,25 мегабайта) і середня затримка в обороті 100 мс, то у вас буде 6,25 * 0,1 = 625 кілобайт даних. Це було б значення, яке TCP узгоджував (якщо правильно налаштовано). Оскільки затримка та пропускна здатність ваших посилань змінюються, тож розмір вікна також змінюється.

Вам потрібен інструмент управління пропускною здатністю, як iperf (безкоштовно), що працює як у вихідному, так і у різних напрямках. Це повинно дати вам уявлення про фактичну можливу кількість пропускної здатності (незалежно від інших додатків), а також надасть деяке розуміння затримки. Запуск розширеного пінгу між хостами також дасть загальне уявлення про характеристики затримки. Коли у вас є ці дані, ви матимете краще уявлення про те, що ви повинні бачити, наскільки пропускна здатність.

BTW - Використання будь-якого виду оптимізатора локальної мережі часто передбачає стиснення даних, оптимізацію TCP, кешування тощо. Хоча це зручно, це може затьмарити характер основних посилань. Отримавши уявлення про необмежену пропускну здатність / затримку (і потенційну втрату пакету), ви можете більш детально ознайомитись, щоб переконатися, що ваші різні хости налаштовані належним чином використовувати наявну пропускну здатність.


Дякую за чудову інформацію rnxrx. Розсувні вікна, які використовуються в TCP, мають багато сенсу. У нашому випадку, оскільки єдиний трафік, про який ми маємо стосунок, - це перехід через TCP, тому я думаю, що моє питання сильно орієнтовано на TCP. Ми використовували інші способи передачі даних (наприклад, реплівеб) і досягли значно більшої пропускної здатності (до 11 Мб / с). Я не знав про продукт із затримкою пропускної здатності, хоча це чудово знати!
Univ426

2

Спробуйте "ping -l 8092" або FTP або HTTP, щоб перевірити, чи це проблема SMB.

Перш за все: які носії ви використовуєте для підключення комп'ютерів? Що нам "100мб"? Ethernet? Ви не можете використовувати його для "розподілених географічно" комп'ютерів, правда?

У разі "vpn через Інтернет" маршрутизатори між вашими комп'ютерами можуть використовувати різні посилання: один швидкий, інший - ні. Вони можуть вибрати посилання на основі багатьох параметрів.

Опишіть, будь ласка, вашу мережу.

Це також може бути проблемою MTU: декілька посилань можуть мати різні MTU.


Дякую Іллі. Я оновив питання, щоб відповісти на ваш. Це звичайна мережа Ethernet з мережевою картою зі 100 Мбіт / с у вихідному хості.
Univ426

Джош, я досі не можу зрозуміти: ((Ви підключаєте свій ПК до сервера за допомогою Ethernet 100BASE? Навіть якщо ви використовуєте 100BASE-LX10 (Ethernet над двома оптичними волокнами), ви не можете підключити два комп'ютери "по всій країні": він має обмеження відстані близько 10 кілометрів. А якщо ви користуєтесь Ethernet комутатором (який?) чи підключаєте комп'ютери безпосередньо? І, будь ласка, розкажіть про затримку: як у вас вийшло "72 мс"? як ви його обчислили? Спасибі
Ілля

Ми переходимо через локальну локальну мережу до загальнодоступних інтеренет, до центру обробки даних, а потім до сервера через корпоративну інтранет. Затримку визначали за допомогою ping. Ми проходимо через кілька комутаторів, як і слід було очікувати. Найближчий комутатор має підтверджену швидкість автоматичного узгодження з хостом 100Mbps. Сподіваємось, це допомагає.
Univ426

1
nb - пропускна здатність, якою ви насправді переймаєтесь, - це не 100 М підключення до локальної мережі, а найповільніша зв'язок між кінцевими точками. Це може бути ваша WAN-ланка або повільніша проміжна ланка.
rnxrx

Це чудовий момент, я оновлю питання, але я знаю, що ми підключилися до нашого провайдера через OC-3. Я повинен уявити, що все вище за те, щонайменше, 100 Мбіт / с, і я знаю, що інфраструктура в будівлі становить 100 М або 1 Г аж до цього з'єднання.
Univ426

2

Тут багато коментарів та користувачів запропонували чудові поради. Деякі з них потрапляють досить близько до того, що я шукав, але мені також пощастило зустрітися з ветераном мережі від нашої компанії, який допоміг з’ясувати речі. Я думав, що викладу свої висновки / розуміння на благо інших. Будь ласка, не соромтеся виправити мене, якщо щось із цього видається:

1.) Максимальна пропускна здатність одного сеансу TCP із затримкою 72 мс та вікном 64K становить близько 0,8 Мб / с, що робить цю швидкість розумною для одиночних потоків, копій для одного сеансу, як ті, що ми виконували з роботокопією.

2.) Ця різниця швидкостей, мабуть, знижується до ефективності методу передачі. У нашому випадку ми використовували Robocopy та Repliweb. Я виявив, що робокопія використовує один сеанс TCP, тоді як Repliweb може відкривати кілька сеансів для передачі даних.

3.) Дослідження на веб-сайті Microsoft показують, що SMB2 має значний приріст продуктивності порівняно з SMB1. Однак у деяких випадках виникають проблеми в тому, як ОС узгоджує протокол, який слід використовувати, тому слід знати, як: a) які випадки SMB2 можуть використовуватися, і b.) Незалежно від того, чи використовується SMB2 на основі на мережевих захопленнях.

В даний час схоже, що Wire-акула може визначити використання протоколу SMB2.

Я сподіваюся, що це допомагає. Знову-таки, моє розуміння тут досить рудиментальне, сміливо розширюйте.


1
Окрім розрахунків затримки пропускної здатності, майте на увазі, що SMB2 значно покращує продуктивність по лінії більш високої затримки, оскільки не чекає, коли сервер підтвердить запис перед передачею більшої кількості даних. Насправді ми бачимо 10-кратне збільшення пропускної здатності з SMBv2 через наші WAN-з'єднання за допомогою ROBOCOPY. Також врахуйте тему / MT з роботокопією, якщо ви копіюєте безліч файлів, за замовчуванням це паралельно до 8.
rmalayter
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.