Гаразд, тут є трохи більше, ніж випливає з назви.
Передумови та середовище : я копіюю кілька ТБ зі старого сервера Ubuntu на новий сервер Windows 2012 через SMB. (Технічно це товарне обладнання, але вони тут є серверами.) Усі мають гігабітну локальну мережу, а у старшої коробки Ubuntu є зв’язаний інтерфейс. Я вважаю, що на сервері Ubuntu є дві Ethernet-картки Rosewill PCI-e 1x, а у сервера Windows одна досить симпатична карта Ethernet PCI Intel.
Цільовий комп’ютер (сервер Windows) працює в накопичувальному пулі з паритетом більше 4-х накопичувачів 2 ТБ. На ньому працює новий ReFS від Microsoft. У вихідному комп’ютері (сервер Ubuntu) працює програмне дзеркало RAID. Він працює добре ol 'EXT4.
Два сервери працюють через один гігабітний комутатор. Я експериментував з розривом зв'язку на вихідному (Ubuntu) комп'ютері без будь-яких удосконалень.
Проблема : Я не маю проблем з перенесенням з розумною швидкістю з інших комп’ютерів на сервер Windows. Інші комп'ютери можуть утримувати 50-80 Мб / с без особливих труднощів, але передача з цього сервера Ubuntu перевищує 20 МБ / с. 4 + ТБ при 20 МБ / с займає багато часу (щось на зразок 2,3 дня), і мені цікаво, що я можу зробити, щоб зрозуміти, де знаходиться вузьке місце.
Симптоми : процесор на обох комп’ютерах досить мінімальний і, звичайно, не надто зайнятий. Жорсткі диски на обох комп’ютерах активні, але не затоплені, а процесор IOwait майже 0% на принаймні сервері Ubuntu.
Я простежив Wireshark протягом 35 секунд (імовірно, досить довгий, щоб переконатися, що всі ACK були для нових пакетів) і помітив, що було досить багато речей, яких я не очікував. (1) Не було ніяких контрольних сум для ACK (і деяких пакетів SMB) від Windows до Ubuntu. Однак Wireshark стверджує, що це може бути пов'язано з "завантаженням контрольної суми IP". Гаразд, у мене тут дуже приємна карта. Я припускаю, що цілком можливо, що мережева карта могла б зробити розрахунки контрольної суми. Чудово. Перехід до ... (2) "TCP ACKed невидимий сегмент." З цим у мене проблеми. Номер ACK знаходиться в межах прийнятного діапазону, ніж я можу сказати, і часто є величезні блоки цих повідомлень. Можливо, Wireshark просто занадто повільний?
Резюме : Швидкість передачі відстій (20 Мб / с через гігабітний Ethernet), і я не знаю чому. Wireshark стверджує, що Windows обробляє речі, які Ubuntu ніколи не надсилав.
Здогадки : Моя початкова здогадка полягає в тому, що дешевші карти Rosewill заграють. Моя друга здогадка полягає в тому, що програмне забезпечення, схоже на RAID, з тієї чи іншої сторони загрожує різними справами.
sshd
з'їдає 60% одного процесора з боку Knoppix. У будь-якому випадку, моя передача наближається до завершення. @Dom: Тепер, коли ви це згадуєте, я не пригадую, щоб усі ці дані там були набагато швидше, ніж 30 Мбіт / с.