Nukopijuokite vieną 2 GB failą per VPN ir perdavimas atrodo gerai. Nukopijuokite aplanką su dešimčia tūkstančių mažų dokumentų ir ta pati jungtis atrodo sugedusi. Skirtumas nėra pralaidumo nustatymas, kuris pasikeitė tarp dviejų darbų. Antrasis darbas leidžia laiką sąrankai, metaduomenims ir laukimui atsakymų, o tunelio delsą daro tą laukimą matomą.

Vienas failas transliuojamas; failų aplankas derasi

Didelis kopijavimas didžiąją gyvenimo dalį praleidžia skaitymo-rašymo cikle su keliais atidarytais deskriptoriais. Protokolo sąnaudos sumokamos kartą už failą, o duomenys juda dideliais blokais. Rezultatą lemia pralaidumas.

Aplanko kopijavimas moka už kiekvieną failą: sukurti, užklausti atributų, atidaryti, rašyti, uždaryti ir atnaujinti katalogo metaduomenis. Kiekvienas jų yra užklausa, laukianti atsakymo, kol kitas žingsnis gali tęstis. Baitai maži; koordinavimas ne.

Štai kodėl mažo jungties išnaudojimo grafikas beveik nieko neįrodo. Jungtis beveik nenaudojama, nes klientas laukia, o ne todėl, kad tunelis lėtas. Saugyklos masyvas ar baigtinio taško skaitytuvas gali pridėti tokią pačią vėlavimo formą. Nustatykite, kuris etapas laukia, prieš keisdami bet kokį tinklo nustatymą.

Kelionės pirmyn ir atgal kaupiasi greičiau nei baitai

Delsa yra vieno priklausomo mainų kaina. Jei failui reikia kelių nuoseklių mainų, o tunelis prideda 40 ms į kiekvieną pusę, kaina vienam failui auga greitai. Dešimt tūkstančių failų tai paverčia minutėmis.

Aritmetika iliustracinė, ne matavimas: negarantuojama, kad failas kainuos vieną kelionę pirmyn ir atgal, o klientai dalį darbo perdengia.

Dvi svirtys keičia sumą. Sumažinkite priklausomų mainų skaičių failui arba laikykite daugiau jų vienu metu. Pirmoji yra protokolo ar darbo krūvio pokytis; antroji yra lygiagretumas. Nė viena nepadaro lėtos jungties greitesnės.

Matuokite darbo krūvį, o ne jungtį

Palyginkite tris darbus su tais pačiais galiniais taškais ir ta pačia prieigos politika: vieną didelį failą, mažų failų aplanką ir tikrąją verslo operaciją. Užrašykite failų skaičių, dydžių pasiskirstymą, kopijavimo įrankį ir tinklo sąlygas su kiekvienu rezultatu.

Vieno MB/s skaičiaus be tų detalių negalima lyginti su niekieno kito.

Matuokite delsą atskirai nuo pralaidumo. Paprastas kelionės pirmyn ir atgal testas į failų serverį duoda skaičių, kuris dauginasi per mažas operacijas. Tada stebėkite kopijavimo užklausų modelį, o ne vidutinį greitį. Jei greitis mažas, o jungtis beveik nenaudojama, kliūtis yra virš tunelio.

Pakeiskite darbą: lygiagretumas ir archyvai

Leidžiamam masiniam kopijavimui įrankis su valdomu lygiagretumu išlaiko daugiau užklausų. Robocopy parinktis /MT yra įprastas Windows pavyzdys. Gijų pridėjimas negarantuoja greitesnio kopijavimo.

Pasirinkite skaičių, kurį klientas, serveris ir saugykla gali atlaikyti, ir saugokite darbo žurnalą bei visas klaidas.

Archyvavimas šaltinyje ir išpakavimas vietoje pašalina nuotolinį darbą kiekvienam failui. Įtraukite paruošimo ir išgavimo laiką į palyginimą ir patvirtinkite, kad archyvas išsaugo užduočiai reikalingus metaduomenis ir leidimus. Nė vienas triukas neverčia programos grupuoti savo failų operacijų.

Patikrinkite skaitiklį kontroliuojamu testu

Paleiskite tą patį darbą du kartus pakeitę vieną kintamąjį ir užrašykite abu skaičius. Kontroliuojamas testas yra vienintelis būdas sužinoti, ar nustatymas padėjo, ar tinklas buvo tylesnis atsitiktinai.

Dvi komandos duoda failų skaičių ir kelionės pirmyn ir atgal bazinę liniją:

Get-ChildItem \\fileserver.hq.example\\share -Recurse | Measure-Object -Property Length -Sum
ping -n 20 fileserver.hq.example

Tada paleiskite kopijavimą su ribotu gijų skaičiumi ir palyginkite žurnalą su ankstesniu paleidimu:

robocopy \\fileserver.hq.example\\share C:\\local /E /MT:16 /LOG:copy.log /TEE

Neišjunkite SMB parašo, šifravimo ar baigtinio taško apsaugos, kad pagerintumėte skaitiklį. Tie pakeitimai iškeičia saugumo savybę į skaičių, kuris galbūt nebuvo kliūtis. Ir laikykite VPN transportą atskirai nuo paties SMB transporto savo užrašuose, nes vieno pataisymas nėra įrodymas apie kitą.

Susiję straipsniai