Дрібні файли повзуть через VPN через кругові обміни, а не через швидкість
Тека дрібних файлів платить за метадані та кругові обміни, які приховує один великий файл. Виміряйте форму робочого навантаження, перш ніж звинувачувати пропускну здатність тунелю.
Скопіюйте один файл розміром 2 GB через VPN, і передавання виглядає добре. Скопіюйте теку з десятьма тисячами дрібних документів, і те саме з’єднання здається зламаним. Різниця не в налаштуванні пропускної здатності, яке змінилося між двома завданнями. Друге завдання витрачає час на налаштування, метадані й очікування відповідей, і саме затримка тунелю робить це очікування помітним.
Один файл тече; тека файлів домовляється
Велике копіювання проводить більшу частину життя в циклі читання й запису на кількох відкритих дескрипторах. Накладні витрати протоколу сплачуються один раз на файл, а дані рухаються великими блоками. Результат визначає пропускна здатність.
Копіювання теки платить за кожен файл: створення, запит атрибутів, відкриття, запис, закриття й оновлення метаданих каталогу. Кожен із цих кроків — запит, який чекає відповіді, перш ніж наступний крок зможе продовжитися. Байти крихітні; координація — ні.
Тому графік низького використання каналу майже нічого не доводить. Канал простоює, бо клієнт чекає, а не тому, що тунель повільний. Масив зберігання або сканер кінцевих точок може додати таку саму форму затримки. Визначте, який етап чекає, перш ніж змінювати будь-яке мережне налаштування.
Кругові обміни накопичуються швидше за байти
Затримка — це ціна одного залежного обміну. Якщо файлу потрібно кілька послідовних обмінів, а тунель додає 40 ms у кожен бік, вартість на файл швидко зростає. Десять тисяч файлів перетворюють це на хвилини.
Арифметика ілюстративна, а не вимірювання: файл не обов’язково коштує одного кругового обміну, і клієнти перекривають частину роботи.
Підсумок змінюють два важелі. Зменште кількість залежних обмінів на файл або тримайте більше їх одночасно в роботі. Перше — зміна протоколу або навантаження; друге — паралельність. Жодне не робить повільний канал швидшим.
Вимірюйте навантаження, а не канал
Порівняйте три завдання з одними й тими самими кінцевими точками та однаковою політикою доступу: один великий файл, теку дрібних файлів і фактичну бізнес-операцію. Записуйте кількість файлів, розподіл розмірів, інструмент копіювання та мережні умови з кожним результатом.
Одне число в MB/s без цих подробиць не можна порівняти ні з чиїмось іншим.
Вимірюйте затримку окремо від пропускної здатності. Простий тест кругового обміну до файлового сервера дає число, яке множиться на дрібних операціях. Далі спостерігайте за шаблоном запитів копіювання, а не за середньою швидкістю. Якщо швидкість низька, а канал простоює, вузьке місце розташоване над тунелем.
Змініть завдання: паралельність і архіви
Для дозволеного масового копіювання інструмент із контрольованою паралельністю тримає більше запитів у роботі. Параметр /MT у Robocopy — звичайний приклад для Windows. Додавання потоків не гарантує швидшого копіювання.
Виберіть число, яке витримають клієнт, сервер і сховище, і зберігайте журнал завдання та всі помилки.
Архівування біля джерела й розпакування локально прибирають віддалену роботу на кожен файл. Включіть час підготовки та вилучення в порівняння й підтвердьте, що архів зберігає метадані та дозволи, потрібні завданню. Жоден із прийомів не змушує застосунок групувати власні файлові операції.
Перевірте лічильник контрольованим тестом
Запустіть те саме завдання двічі з однією зміненою змінною й запишіть обидва числа. Контрольований тест — єдиний спосіб дізнатися, чи допомогло налаштування, чи мережа випадково була тихішою.
Дві команди дають кількість файлів і базову лінію кругового обміну:
Get-ChildItem \\fileserver.hq.example\\share -Recurse | Measure-Object -Property Length -Sum
ping -n 20 fileserver.hq.example
Потім запустіть копіювання з обмеженою кількістю потоків і порівняйте журнал із попереднім запуском:
robocopy \\fileserver.hq.example\\share C:\\local /E /MT:16 /LOG:copy.log /TEE
Не вимикайте підпис SMB, шифрування чи захист кінцевих точок, щоб покращити лічильник. Ці зміни обмінюють властивість безпеки на число, яке, можливо, не було вузьким місцем. І тримайте транспорт VPN окремо від власного транспорту SMB у своїх нотатках, бо виправлення в одному не є доказом про інше.