Мали фајлови пузе преко 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-а, јер поправка у једном није доказ о другом.