Kvifor fildeling over VPN kjennest treg: rundturar, ikkje Mbps
Fildelingsprotokoll føreset LAN-forsinkelse. Snakkesalige metadata, operasjonar på små filer og MTU-problem gjev stans som meir bandbreidd ikkje rettar opp.
Å opne ei delt mappe over VPN og vente medan mappelista krabbar av garde er ei kjend oppleving, og den første innskytelsen er å gje bandbreidda skulda. Som regel er sambandet nesten ledig. Protokollen brukar tida på å vente på svar, og kvar venting kostar ein full rundtur som LAN-et aldri tok betalt for. Rett opp forma på arbeidet, og delinga vert brukbar att.
Den eksterne arbeidskopien har feil form
SMB opnar filer, les metadata og kvitterer i mange små utvekslingar. Ein arbeidskopi for versjonskontroll på ein tilkopla stasjon føreset lokal filsystemforsinkelse og les mange små filer. Ein skrivebordsdatabase hentar sider medan brukaren jobbar. Kvar av desse gjer forsinkelse til ein multiplikator, fordi kostnaden veks med kor mange utvekslingar operasjonen gjer; ein tunnel på 40 ms gjer difor eit par hundre operasjonar til fleire sekund. Storleiken på nyttelasta er nesten irrelevant i den rekninga.
Krypteringskostnaden er ein liten del av det; tap er verre, fordi éin retransmisjon pluss eit kollapsa overbelastningsvindauge kostar langt meir enn byta som er involvert.
Tel rundturar før megabytes
Mål forsinkelsen før du kjøper kapasitet. Éin ping fortel kva kvar utveksling betaler.
ping -c 10 fileserver.example.netSamandraget gjev minste, gjennomsnittlege og største rundturstid, og spreiinga tyder like mykje som gjennomsnittet. Gong gjennomsnittet med talet på utvekslingar ei mappeliste gjer, og samanlikn med tida du faktisk ser. Viss éi stor fil vert overført raskt medan blaing er treg, er forsinkelse og talet på førespurnader avgrensinga. Å leggje til ti gonger kapasiteten på eit samband som aldri mettast endrar absolutt ingenting.
Flytt arbeidet, ikkje byta
Endre kvar arbeidet skjer i staden for å betale for eit breiare røyr. Ten på repositoriet i staden for å montere det, og kopier i bulk med eit verktøy som berre sender skilnader.
rsync -av --info=progress2 ./project/ [email protected]:/srv/share/project/Når repositoriet vert tent, slik hgweb eller ein ekstern Git gjer, kan klienten jobbe på ein lokal klone, så filsystemkalla aldri kryssar tunnelen. rsync går gjennom begge sider og sender endra blokker, og fjernar dei fleste utvekslingane ein naiv kopi betaler for. Ein skrivebordsdatabase høyrer heime på ein servermotor med klienten redusert til eit grensesnitt, eller heile klienten køyrer på ein intern vert. Kvart alternativ endrar kor mykje forsinkelse protokollen vert utsett for, og det er poenget.
Stans ved same storleik er eit MTU-symptom
Store overføringar som stoggar etter omtrent same datamengd, medan ping og små sider fungerer, peikar på pakkestorleik framfor bandbreidd.
ping -M do -s 1400 -c 3 fileserver.example.netEin vellukka test tyder at ein IP-pakke på 1428 byte passerer vegen utan fragmentering, sidan ICMP- og IP-hovud legg til 28 byte. Ein feil med do-not-fragment-flagget tyder på at den brukbare MTU-en til tunnelen er mindre enn serveren antek. Ein server som sender buffer på 9000 byte ut på ein veg på 1500 byte tvingar fram fragmentering eller tap, og oppdaging av vegens MTU kan feile stille når ICMP vert filtrert. Senk MTU-en til tunnelen, aktiver mssfix på OpenVPN, eller krymp bufferane på serveren, og køyr deretter den same overføringa på nytt for å stadfeste.
Mål gapet som betyr noko
Køyr den same operasjonen på tre måtar der policyen tillèt det: lokalt, over tunnelen og via ein direkte internettveg. Noter for kvar rundturstida, farten på éin stor straum, og kor lang tid ei mappeliste eller opning av eit program tek. Å samanlikne den lokale køyringa med tunnelkøyringa viser kva kostnad som dominerer. Ein kopi som vert ferdig sakte tyder på eit fart- eller forsinkelsesproblem, medan ein kopi som døyr på eit fast punkt tyder på pakkestorleik eller eining med tilstand i vegen.
Når berre dei første megabyta slepar, sjå på autentisering og metadata; når alt krabbar, sjå på kapasitet og tap. Rett opp den matchende årsaka, og slutt å vente at eit WAN-samband skal oppføre seg som ein LAN-kabel.