Miksi VPN:n kautta jaettu tiedosto tuntuu hitaalta: edestakaiset matkat, ei Mbps
Tiedostojen jakoprotokollat olettavat lähiverkon latenssin. Puheliaat metatiedot, pienten tiedostojen toiminnot ja MTU-ongelmat aiheuttavat pysähdyksiä, joita suurempi kaistanleveys ei korjaa.
Jaetun kansion avaaminen VPN:n yli ja odottaminen, kun hakemistolistaus ryömii, on tuttu kokemus, ja ensimmäinen vaisto on syyttää kaistanleveyttä. Yleensä yhteys on lähes käyttämätön. Protokolla viettää aikansa vastauksia odottaen, ja jokainen odotus maksaa täyden edestakaisen matkan, jota lähiverkko ei koskaan veloittanut. Korjaa työn muoto, niin jako on taas käyttökelpoinen.
Etätyökopio on väärän muotoinen
SMB avaa tiedostoja, lukee metatietoja ja kuittaa monissa pienissä vaihdoissa. Versiohallinnan työkopio liitetyllä asemalla olettaa paikallisen tiedostojärjestelmän latenssin ja lukee paljon pieniä tiedostoja. Työpöytätietokanta vetää sivuja käyttäjän työskennellessä. Jokainen näistä tekee viiveestä kertoimen, koska kustannus kasvaa sen mukaan, kuinka monta vaihtoa toiminto tekee; siksi 40 ms:n tunneli muuttaa muutaman sadan toiminnon useiksi sekunneiksi. Hyötykuorman koko on siinä aritmetiikassa lähes merkityksetön.
Salauksen yleiskustannus on pieni osa siitä; häviö on pahempi, koska yksi uudelleenlähetys plus romahtanut ruuhkaikkuna maksaa paljon enemmän kuin kyseiset tavut.
Laske edestakaiset matkat ennen megatavuja
Mittaa viive ennen kapasiteetin ostamista. Yksi ping kertoo, mitä jokainen vaihto maksaa.
ping -c 10 fileserver.example.netYhteenveto antaa pienimmän, keskimääräisen ja suurimman edestakaisen ajan, ja hajonta on yhtä tärkeä kuin keskiarvo. Kerro keskiarvo hakemistolistauksen tekemien vaihtojen määrällä ja vertaa sitä aikaan, jonka todella havaitset. Jos yksi suuri tiedosto siirtyy nopeasti selaamisen ollessa hidasta, rajoite on latenssi ja pyyntöjen määrä. Kymmenkertaisen kapasiteetin lisääminen yhteydelle, joka ei koskaan kyllästy, ei muuta yhtään mitään.
Siirrä työ, älä tavuja
Muuta sitä, missä työ tapahtuu, sen sijaan että maksaisit leveämmästä putkesta. Tarjoile repositorio sen liittämisen sijaan ja kopioi massana työkalulla, joka lähettää vain erot.
rsync -av --info=progress2 ./project/ [email protected]:/srv/share/project/Kun repositoriota tarjoillaan, kuten hgweb tai etä-Git tekee, asiakas voi työskennellä paikallisella kloonilla, jolloin sen tiedostojärjestelmäkutsut eivät koskaan ylitä tunnelia. rsync käy molemmat puolet läpi ja lähettää muuttuneet lohkot, mikä poistaa useimmat vaihdot, jotka naiivi kopio maksaa. Työpöytätietokanta kuuluu palvelinpuolen moottoriin asiakkaan kutistuessa käyttöliittymäksi, tai koko asiakas toimii sisäisellä isännällä. Jokainen vaihtoehto muuttaa sitä, kuinka paljon latenssia protokolla kohtaa, ja se on pointti.
Samaan kokoon pysähtyminen on MTU-oire
Suuret siirrot, jotka pysähtyvät suunnilleen saman datamäärän jälkeen pingin ja pienten sivujen toimiessa, viittaavat paketin kokoon eivätkä kaistanleveyteen.
ping -M do -s 1400 -c 3 fileserver.example.netOnnistunut koe tarkoittaa, että 1428 tavun IP-paketti kulkee polun pirstoutumatta, koska ICMP- ja IP-otsikot lisäävät 28 tavua. Epäonnistuminen älä pirsto -lipulla viittaa siihen, että tunnelin käyttökelpoinen MTU on pienempi kuin palvelin olettaa. Palvelin, joka lähettää 9000 tavun puskureita 1500 tavun polulle, pakottaa pirstoutumisen tai pudotukset, ja polun MTU:n löytäminen voi epäonnistua hiljaisesti, kun ICMP suodatetaan. Laske tunnelin MTU:ta, ota käyttöön mssfix OpenVPN:ssä tai pienennä palvelimen puskureita ja aja sitten sama siirto uudelleen vahvistaaksesi.
Mittaa rako, jolla on merkitystä
Suorita sama toiminto kolmella tavalla siellä, missä käytäntö sallii: paikallisesti, tunnelin yli ja suoraa internetpolkua pitkin. Kirjaa jokaisesta edestakainen aika, yhden suuren virran nopeus ja se, kuinka kauan hakemistolistaus tai sovelluksen avaaminen kestää. Paikallisen ajon vertaaminen tunneliajoon näyttää, mikä kustannus hallitsee. Hitaasti päättyvä kopio viittaa nopeus- tai viiveongelmaan, kun taas tasaiseen kohtaan kuoleva kopio viittaa paketin kokoon tai tilalliseen laitteeseen polulla.
Kun vain ensimmäiset megatavut laahaavat, katso todennus ja metatiedot; kun kaikki ryömii, katso kapasiteetti ja häviöt. Korjaa vastaava syy ja lakkaa odottamasta, että WAN-yhteys käyttäytyy kuin lähiverkkokaapeli.