Optimoi TCP/IP vähentääksesi pelien viivettä

  • Latenssi riippuu TCP/IP-parametreista, kuten MTU:sta, MSS:stä, TCP-ikkunasta ja RTO:sta, fyysisen polun ja verkon tilan lisäksi.
  • Kotona pingiin eniten vaikuttavat WiFi, ylikuormitettu reititin, rinnakkaislataukset ja VPN-palveluiden tai välityspalvelimien käyttö.
  • Palvelun laadun (QoS) säätäminen, Ethernet-kaapelin käyttö, hyvän DNS:n valitseminen ja taustalla olevien ohjelmien hallinta vähentävät merkittävästi viivettä ja värinää.
  • Palvelimilla ja pilvessä TCP-pinon hienosäätö, suurempien MTU-arvojen käyttö, HTTP/2/3 ja muistin sisäinen välimuisti vähentävät viivettä ja parantavat suorituskykyä.

Optimoi TCP/IP viiveen vähentämiseksi

Jos riitelet hänen kanssaan joka päivä Viive, nykiminen ja korkea pingEt ole yksin. Sen huonon kokemuksen takana verkossa pelaamisessa, videopuheluissa tai etätyössä on selkeä syyllinen: kotiverkkosi ja laitteidesi ja palvelimiesi TCP/IP-protokollan konfiguraatioiden yhdistelmä.

Optimoi TCP/IP vähentää viivettä Kyse ei ole vain muutaman "taika"asetuksen säätämisestä. Sinun on ymmärrettävä, miten käsitteet, kuten..., toimivat. MTU, MSS, TCP-ikkuna, latenssi tai puskurin täyttyminenJa sitten tee tiettyjä muutoksia tietokoneeseesi, reitittimeesi, Wi-Fi-verkkoosi ja jopa pilvipalvelimillesi tai virtuaalikoneillesi. Katsotaanpa asiaa askel askeleelta, mutta käytännönläheisesti: mitä kukin asia on ja mitä voit tehdä, jotta yhteytesi reagoisi nopeammin.

Viiveeseen vaikuttavat keskeiset TCP/IP-käsitteet

Jotta saisit kaiken irti yhteydestäsi, on hyödyllistä ymmärtää muutamia asioita. TCP/IP-perusparametrit jotka vaikuttavat suoraan pingiin, vakauteen ja suorituskykyyn peleissä, videopuheluissa tai etäkäytössä.

MTU, pirstoutuminen ja LSO

La MTU (Maximum Transmission Unit) Tämä on verkkoliittymästä lähtevän paketin enimmäiskoko tavuina fragmentoitumatta. Useimmissa Ethernet-verkoissa (ja Azuren tai Google Cloudin virtuaalikoneissa) oletusarvo on 1500 tavua, joka sisältää verkon otsikot ja tiedot.

Kun paketti ylittää kyseisen MTU:n, IP-kerros jakaa sen useisiin pienempiin osiin. IP-fragmentaatio Tämä vaatii enemmän prosessori- ja muistityötä sekä dataa fragmentoivalla koneella että fragmentit uudelleen kokoavalla koneella niiden saapuessa. Tämä aiheuttaa ylimääräistä viivettä ja suorituskyvyn heikkenemistä, erityisesti raskaan liikenteen alla.

Lisäksi on tuo kuuluisa kohta "Älä fragmentoi" (DF) IP-otsikossa. Jos tämä on käytössä ja välissä oleva reititin vastaanottaa paketin, joka on suurempi kuin sen MTU, se fragmentoinnin sijaan hylkää sen ja lähettää takaisin ICMP:n "Fragmentation Needed" -viestin. Tätä käytetään MTU-reitin tunnistus (PMTUD)Mutta jos palomuuri estää kyseiset ICMP-paketit, lähettäjä yrittää edelleen lähettää liian suuria paketteja, mikä aiheuttaa viiveitä ja uudelleenlähetyksiä.

Azuren tai Google Cloudin kaltaisissa ympäristöissä fragmentoituneet paketit menettävät usein myös seuraavien etujen hyödyt: kiihdytetyt verkotSR-IOV ja SmartNIC:t. Ne käsitellään hypervisorin hitaan reitin kautta, ja niissä on enemmän värinäähuonompi latenssi ja vähemmän paketteja sekunnissa. Siksi yleinen suositus on Vältä pirstoutumista säätämällä MTU:ta ja MSS:ää oikein eikä MTU-arvoa pidä paisuttaa liikaa, jos välissä on palomuureja tai VPN-verkkoja.

Toisaalta funktio Suuri lähetysten purku (LSO) Tämä sallii käyttöjärjestelmän TCP/IP-pinon luoda suuria "superpaketteja", jotka verkkokortti sitten sisäisesti fragmentoi MTU:n mukaan. Tämä vähentää merkittävästi suorittimen kuormitusta, vaikka liikenteen sieppauksissa saattaa näkyä näennäisesti valtavia kehyksiä, jotka eivät osoita verkon fragmentoitumista, vaan pikemminkin sitä, että fragmentoituminen tapahtuu itse sovittimen sisällä.

MSS, PMTUD ja VPN

El TCP MSS (segmentin enimmäiskoko) Tämä määrittää, kuinka monta tavua käyttökelpoista dataa mahtuu kuhunkin TCP-segmenttiin, pois lukien IP- ja TCP-otsikot. Tyypillisesti järjestelmät laskevat MSS:n seuraavasti:

MSS = MTU - (tamaño cabecera IP + tamaño cabecera TCP)

Tyypillinen MSS on 1500 MTU:n ja 20+20 tavun IPv4+TCP-otsikoiden avulla 1460 tavuaTämä arvo neuvotellaan TCP:n kolmiosaisen kättelyn aikana, ja kumpikin pää ehdottaa omaa arvoaan. Yhteys käyttää näistä kahdesta pienempää.

Matkan varrella voi kuitenkin olla laitteita (palomuureja, reitittimiä, VPN-yhdyskäytävätjne.) pienemmällä MTU:lla, joka käytännössä pakottaa MSS:n vähenemiseen. Tässä kohtaa Polun MTU-löytö (PMTUD)Kun reititin ei voi lähettää pakettia edelleen, koska se on liian suuri ja DF-bitti on asetettu, se pudottaa sen ja lähettää ICMP-viestin "Fragmentation Needed", joka ilmaisee sen tukeman suurimman MTU:n, jotta lähde pienentää sen kokoa.

Jos kyseiset ICMP-paketit estetään, yhteys siirtyy edelleenlähetys- ja katoamiskiipeeseen, mikä johtaa Viive, uudelleenlähetykset ja loputtomat latausajatSiksi ei ole aina hyvä idea huolettomasti lisätä tietokoneiden tai virtuaalikoneiden MTU-arvoa tarkistamatta koko polkua tai palomuurikäytäntöä.

Sosiaalisessa mediassa IPsec VPN tai muissa tunneleissa lisäotsikot vähentävät datalle käytettävissä olevaa tilaa, joten suositellaan pienempiä MTU- ja MSS-arvoja (esim. MTU 1400 ja MSS ~1350 tyypillisissä tunneleissa) tunnelien pirstoutumisen ja niihin liittyvien viiveiden välttämiseksi.

Latenssi, RTT ja TCP-ikkuna

Kuuluisa ”ping” ei ole muuta kuin edestakaisen matkan latenssi (RTT) kahden pisteen välillä. Fyysisellä tasolla sitä rajoittavat valon etenemisnopeus kuidussa (noin 200 km millisekunnissa) ja datan todellinen reitti. Se on harvoin suora viiva.

TCP:ssä yksittäisen yhteyden teoreettinen maksimiläpivirtausmäärä määritetään tällä peruskaavalla:

rendimiento máximo ≈ tamaño de ventana TCP / RTT

La TCP-ikkuna Tämä on lähettäjän "lähettämän" datan määrä ilman, että hän on vielä vastaanottanut kuittausta (ACK). 65 535 tavun ikkunalla ja 1460 tavun MSS:llä vain noin 45 pakettia voidaan lähettää ennen kuin odotetaan ACK:ta. Jos RTT on korkea (esimerkiksi 80–160 ms mannerten välillä), skaalaamaton ikkuna ei pysty hyödyntämään suurikapasiteettisia linkkejä läheskään niin paljon.

Oletusarvoisesti TCP-otsikon ikkunakenttä on 16-bittinen, mikä rajoittaa sen enimmäisarvon 65 535 tavuun. Nykyaikaisissa verkoissa tämä on naurettavaa, joten vuosia sitten otettiin käyttöön [puuttuva tieto - todennäköisesti tietty ominaisuus tai menetelmä]. TCP-ikkunan skaalaus, joka käyttää kyseiseen arvoon kertokerrointa 2^na ja sallii satojen megatavujen tai jopa gigatavujen kokoiset ikkunat.

Windows- ja Linux-järjestelmissä ikkunoiden skaalausta hallitaan automaattisesti ennalta määritetyillä asetuksilla (automaattinen säätö), ja sitä voidaan tarkastella tai muokata komennoilla, kuten Get-NetTCPSetting o sysctlAggressiivisemmat tasot (esim. "kokeellinen") mahdollistavat jättimäiset ikkunat ja voivat parantaa huomattavasti suorituskykyä pitkän matkan verkoissa, edellyttäen, että pakettien menetystä ei tapahdu liikaa.

Kiihdytetyt verkot, RSS ja GRO/TSO

Pilvialustoilla (Azure, Google Cloud jne.) perinteiset verkkorajapinnat ovat vahvasti riippuvaisia ​​isäntätietokoneen suorittimesta jokaisen paketin käsittelyssä, sääntöjen soveltamisessa, kapseloinnissa ja kapseloinnin purkamisessa. Tämä johtaa hypervisorin raju kuormitus kun liikennettä on paljon ja se aiheuttaa epävakaan viiveen.

Siksi ns. kiihdytetyt verkotNämä perustuvat teknologioihin, kuten SR-IOV ja FPGA-pohjaiset SmartNIC-kortit. Ajatuksena on, että merkittävä osa ohjelmistomääritellystä verkkopinosta toimii NIC-laitteistolla, ja dataliikenne voi kulkea käytännössä suoraan virtuaalikoneesta kortille ohittaen isännän virtuaalikytkimen.

Tämä tarjoaa useita etu:

  • Vähemmän latenssia, enemmän PPS:ää.
  • Vähemmän tärinää
  • Pienempi suorittimen kulutus isännässä ja virtuaalikoneessa.

On kuitenkin olemassa tärkeitä yksityiskohtia. Esimerkiksi monet kiihdytetyt verkkojärjestelmät eivät käsittele fragmentoituneita paketteja nopeaa reittiä pitkin; jos IP-fragmentaatiota esiintyy, kyseinen liikenne reititetään hitaan reitin kautta, mikä vaikuttaa suorituskykyyn.

Vieraskäyttöjärjestelmän puolella on tärkeää, että tekniikat, kuten , ovat käytössä. Vastaanottopuolen skaalaus (RSS)joka jakaa saapuvien pakettien käsittelyn useille suorittimen ytimille sekä segmentoinnin ja yhdistämisen lataukset, kuten TSO (lähetyssegmentoinnin purku) ja GRO/LRO (yleinen vastaanottopurku)mikä vähentää suorittimen suoraan käsittelemien pakettien määrää.

TIME_WAIT ja soketin uudelleenkäyttö

Toinen vähemmän tunnettu mutta tärkeä TCP:n suorituskykyyn vaikuttava tekijä on tila ODOTUSAIKAKun TCP-yhteys suljetaan normaalisti, viimeisen ACK:n lähettävä päätepiste odottaa TIME_WAIT-tilassa kymmeniä tai jopa satoja sekunteja. Tänä aikana järjestelmä pitää soketin varattuna varmistaakseen, että vanhan yhteyden viivästyneet paketit eivät ilmesty uudelleen ja sekoitu uuteen istuntoon.

Palvelimilla tai koneilla, joita käytetään paljon, on helppo kerryttää tuhansia tai kymmeniä tuhansia soketteja odotusajassa TIME_WAITTämä voi kuluttaa loppuun lyhytaikaisten porttien alueen ja aiheuttaa virheitä uusia yhteyksiä avattaessa. Siksi monet järjestelmät sallivat sekä TIME_WAIT-keston että porttialueen säätämisen sekä tiettyjen uudelleenkäyttökäytäntöjen säätämisen.

Aggressiivisempaa tekniikkaa, jota jotkut ytimet (esimerkiksi Windows Server Azuressa) tukevat, kutsutaan TIME_WAIT salamurhaJos uusi SYN saapuu järjestysnumerolla, joka on huomattavasti suurempi kuin vanhan yhteyden järjestysnumero, järjestelmä voi pakottaa soketin sulkeutumaan TIME_WAIT-ajan kuluessa ja hyväksyä uuden yhteyden välittömästi. Tämä lisää skaalautuvuutta, mutta väärin määritettynä se voi aiheuttaa yhteentoimivuusongelmat tiettyjen konservatiivisempien TCP-pinojen kanssa.

ping

Miksi pingillä on niin suuri merkitys jokapäiväisessä elämässäsi

Teorian lisäksi latenssilla on suora vaikutus lähes kaikkeen, mitä nykyään teemme verkossa. Pelkkä "600 Mbps:n nopeus" ei riitä; jos vaste on hidas, käyttökokemus kärsii. Tarkastellaanpa joitakin tapauksia, joissa "Korkea" ping ratkaisee kaiken.

Verkkopelit ja "pelattavat" ping-tasot

Kilpailullisissa peleissä jokainen millisekunti on tärkeä. ping alle 20 ms Se on käytännössä ihanteellinen: toiminnot rekisteröidään lähes reaaliajassa, etkä juurikaan huomaa viivettä. 20–50 millisekunnin välillä kokemus pysyy erittäin hyvänä. Kun siirryt 50–100 millisekuntiin, saatat huomata pientä epäsynkronointia, varsinkin jos pelaat etäpalvelimilla.

Alkaen 100-300 ms Vakavia ongelmia alkaa: myöhässä saapuvat laukaukset, viiveellä näkyvät liikkeet, autot, jotka "pomppivat" kilpa-ajopelissä jne. Yli 300 ms:n viiveellä pelistä tulee kidutusta enemmän kuin mistään muusta, varsinkin ammuntapeleissä, kilpa-ajopeleissä tai urheilupeleissä.

Myös pelityypillä on suuri vaikutus. FPS- ja kilpa-ajopelit Kilpailuissa on käytännössä pakollista pitää alle 50 ms; nettiurheilulajeissa on myös toivottavaa pysyä alle 30–40 ms:n viiveellä. Kuitenkin MMO-pelit tai vuoropohjaiset strategiapelitVoit "selviytyä" 150–200 ms:n pingeillä keskeyttämättä peliä, vaikka kokemus ei olekaan koskaan yhtä sujuva. Jos pelaat Windowsilla, saatat olla kiinnostunut oppimaan miten. Syöttöviiveen vähentäminen Windows 11:ssä parantaakseen reagointikykyä kilpailullisissa peleissä.

Videopuhelut, näytön jakaminen ja VoIP-puhelut

Videopuheluissa Zoomilla, Teamsilla, Skypellä tai vastaavilla alustoilla ping on myös ratkaisevan tärkeä. Ihannetapauksessa sen pitäisi olla... 20-40 msjossa keskustelu etenee luonnollisesti ilman päällekkäisyyksiä. Useimmat käyttäjät sietävät jopa noin 100 ms:n viiveitä, vaikka pieniä viiveitä on jo havaittavissa puhuttaessa.

Kun ping ylittää 100 msAlat tahattomasti keskeyttää toista henkilöä. Vastaukset saapuvat hetkellisen "kaiun" kera, ja kiusalliset hiljaisuudet yleistyvät. Jos lisäksi yhteyden kaistanleveys on rajoitettu tai Wi-Fi-yhteys on heikko, video- ja äänikatkoksia lisätään.

kanssa näytön jakaminen tai etäohjaus Vaikutus on samanlainen. Jokaisen klikkauksen ja hiiren liikkeen rekisteröityminen etänäyttöön kestää jonkin aikaa. Korkeilla ping-arvoilla tietokone tuntuu hitaalta. Tämä on uskomattoman turhauttavaa kenelle tahansa, joka yrittää työskennellä tuottavasti.

Esineiden internet, kodin automaatio ja etätyö

Ekosysteemissä IoT ja älylaitteet (kaiuttimet, lamput, kamerat, pistokkeet, robotit, lemmikkien ruokintalaitteet jne.) myös latenssilla on keskeinen rooli. Vaikka valon sytyttäminen 500 ms:n viiveellä ei ole dramaattinen asia, siitä tulee hyvin huomattava, kun ketjutat useita toimintoja yhteen tai käytät ääntä (Alexa, Google Assistant).

Etätyötä tehtäessä etätyöpöytien, palvelimien tai pilvisovellusten käyttö jatkuvalla viiveellä tekee mistä tahansa tehtävästä tylsän. Monet ihmiset luulevat sen olevan "nopeuden puutetta", vaikka todellisuudessa heillä on... korkea ja/tai erittäin vaihteleva latenssi (jitter) johtuen ruuhkaisesta Wi-Fi-yhteydestä, kaatuneista reitittimistä tai huonoista reiteistä palvelimelle.

Latenssi ja turvallisuus: epäsuora vaikutus

Suuri latenssi sinänsä ei tarkoita suora turvallisuusriskiSillä voi kuitenkin olla sivuvaikutuksia. Jos valvontajärjestelmät, tunkeutumisen havaitsemisjärjestelmät tai palomuurit vastaanottavat tiedon liian myöhään, ne saattavat reagoida hyökkäykseen liian myöhään tai jopa ohittaa kriittiset tapahtumat.

Lisäksi, kun käyttäjät epätoivoisesti kärsivät viiveestä, he yleensä "ohittavat" turvakontrollit: He poistavat palomuurin käytöstä, poistavat virustorjunnan tai avaavat portteja sattumanvaraisesti. reitittimessä yrittääkseen tehdä siitä "nopeamman". Tässä kohtaa huono verkkokokemus voi avata tarpeettomia ovia todellisille uhille.

Kotiverkkojen korkean viiveen tärkeimmät syyt

Pelissä tai nopeustestissä näkemäsi ping on monien tekijöiden summa: operaattori, internet-reitti, kohdepalvelin… mutta kotona on useita tyypillisiä ongelmia, joita voit hallita itse.

Huono WiFi-kattavuus ja häiriöt

Useimmat meistä muodostavat nykyään yhteyden lähes yksinomaan Wi-Fin kautta, ja siitä ongelmat alkavat. heikko tai häiriöiden täyttämä signaali Se ei ainoastaan ​​vähennä nopeutta, vaan myös lisää latenssia ja jitteriä, koska laitteiden on lähetettävä paketteja uudelleen, alennettava modulaatiota, odotettava kanavan vapautumista jne.

Jos olet kaukana reitittimestä, useiden seinien takana tai naapuriverkkojen ympäröimänä samalla kanavalla, ping-signaalisi kärsii. Lisäksi mitä enemmän asiakkaita on yhteydessä tukiasemaan, sitä pidempi on odotusaika, ennen kuin kukin niistä "ottaa vuoronsa" kommunikoida. Ja hitaat asiakkaat vaikuttavat negatiivisesti muihin. Selvitä, kuinka monta laitetta on WiFi-verkossasi ongelma-asiakkaiden tunnistamiseksi.

Tällaiset ominaisuudet ovat tässä varsin hyödyllisiä Lähetysaika oikeudenmukaisuusjotka jakavat lähetysaikaa laitteiden kesken niin, etteivät hitaammat laitteet valtaa radiota. Silti, pelaamiseen ja lankapuhelimesta työskentelyyn, käytä [vaihtoehtoa]. ethernet-kaapeli ja jätä WiFi kaikille muille.

Vanhentunut tai ylikuormitettu reititin

Vanha reititin, jonka laiteohjelmisto on vanhentunut tai laitteisto hyvin yksinkertainen, voi muuttua merkittäväksi pullonkaulaksi. Kun reitittimen prosessori ylikuormittuu NAT:n, palomuurin, QoS:n ja P2P-liikenteen hallinnassa, jonon viive ja puskurin täyttyminenPaketit kerääntyvät jättimäiseen puskuriin ja lähetetään merkittävällä viiveellä, mikä pilaa pingin.

Päivitä laiteohjelmisto, poista tarpeettomat ominaisuudet käytöstä ja pyydä tarvittaessa operaattoriltasi korvaavaa laitetta tai osta uusi. tehokkain neutraali reititin Se merkitsee usein käännekohtaa. On myös hyvä käynnistää se uudelleen aika ajoin muistitilojen ja mahdollisten vuotojen poistamiseksi.

Lataukset ja muut kaistanleveyttä kuluttavat laitteet

Jos verkossasi on useita laitteita, jotka lataavat paljon (P2P, päivitykset, 4K-suoratoisto, pilvivarmuuskopiot), on normaalia, että ping-piikitOngelma ei ole niinkään "megatavujen loppuminen", vaan se, miten reititin hallitsee lähteviä jonoja.

Ratkaisu sisältää kaksi polkua:

  • Toisaalta, parempi hallinta taustalla ladattavien tiedostojen sisällöstä (tietokone, matkapuhelimet, konsolit, NAS…).
  • Toisaalta, aktivoi ja säädä oikein QoS ja puskurin turvotuksen esto reitittimestä, jotta interaktiivinen liikenne (pelit, VoIP, videopuhelut) on etusijalla massiivisiin latauksiin nähden.

VPN, välityspalvelin, palomuuri ja taustaohjelmat

Las VPN Ne ovat erittäin hyödyllisiä liikenteen salaamiseen tai maantieteellisten rajoitusten ohittamiseen, mutta ne lisäävät lähes aina viivettä, koska yhteytesi kulkee välittäjäpalvelimen kautta. Jos VPN on ilmainen tai heikkolaatuinen, se voi olla suorastaan ​​tappava ping-nopeuden kannalta. Sama pätee tiettyihin... valtakirjoja.

Sekä tietokoneen että reitittimen palomuurit lisäävät myös jonkin verran viivettä tarkastamalla jokaisen paketin, ja jos ne on määritetty väärin, ne voivat hidastaa yhteyttä huomattavasti. Lisäksi... taustaprosessit (Windows-päivitykset, pilvisovellukset, pelien korjaustiedostot jne.), jotka kuluttavat kaistanleveyttä huomaamattasi.

Haittaohjelmat ja vaarantuneet laitteet

Haittaohjelmatartunnan saanut tietokone voi tuottaa piilotettua liikennettä (roskapostia, palvelunestohyökkäyksiä, louhintaa, tiedonlatauksia) tai kuluttaa paljon prosessori- ja levyresursseja, mikä vaikuttaa yhteyden laatuun. Jos huomaat, että Kaikki on hidasta ja ping piikittää ilman näkyvää syytä.On suositeltavaa suorittaa perusteellinen tarkistus luotettavalla virustorjuntaohjelmalla kaikissa laitteissa. Lisäksi on suositeltavaa noudattaa parhaita käytäntöjä ylläpitää tervettä verkkoinfrastruktuuria ja vältä vaarantuneita laitteita.

winmtr

Työkaluja latenssin mittaamiseen ja ongelmien havaitsemiseen

Ennen kuin teet mitään muutoksia, on tärkeää ottaa tarkat mittaukset. Älä luota pelkästään selaimesi nopeustestiin: on olemassa erityisiä työkaluja, jotka voivat auttaa sinua paikantamaan, missä pingisi nousee pilviin ja onko ongelma paikallisverkossasi, internet-palveluntarjoajassasi vai kohdepalvelimessa.

Perus ping ja traceroute

Apuohjelma pingTämä on lähtökohta kaikissa käyttöjärjestelmissä. Yksinkertaisella ping 8.8.8.8 (Esimerkiksi) voit nähdä tietyn kohteen keskimääräisen, pienimmän ja suurimman viiveen sekä sen, onko pakettien menetystä tapahtunut. Jos lähetät ping-komennon reitittimesi yhdyskäytävään, saat paikallisverkkosi viiveen.

Jos lisäät -t Windowsissa (ping 8.8.8.8 -tVoit antaa sen käydä ja tarkistaa, esiintyykö piikkejä, katkoksia tai värinää. Ja traceroute/tracert Tarkistat, minkä hyppyjen läpi pakettisi kulkevat ja missä vaiheessa latenssi alkaa kasvaa epäilyttävästi.

Edistyneet työkalut: WinMTR, PingPlotter ja muut

Ohjelmat, kuten WinMTR Ne yhdistävät traceroute- ja jatkuvan ping-signaalin, näyttäen signaalin menetysprosentin sekä kunkin hypyn minimi-, keski- ja maksimivasteajat. Ne ovat erittäin hyödyllisiä sen tunnistamisessa, onko ongelma internet-palveluntarjoajasi ensimmäisessä hypyssä, välissä olevassa runkoverkossa vai itse pelipalvelimessa.

Muita apuohjelmia, kuten NetworkLatencyView (NirSoft) mittaa tietokoneesi avaamien TCP-yhteyksien todellisen viiveen. Saatavilla on myös ohjelmistopaketteja, kuten NetScan-työkalut Sisältää graafisen ping-komennon, porttiskannerin, traceroute-komennon ja DNS:n. Kaikki yhdessä.

Mittaa ping mobiililaitteella: Android- ja iOS-sovellukset

Älypuhelimissa ja tableteissa voit mitata latenssia myös sovelluksilla, kuten Fing, He.net-verkkotyökalut, NetX tai erityisiä ping-työkaluja iOS:lle. Nämä sopivat täydellisesti sen tarkistamiseen, onko ongelma tietyn huoneen Wi-Fi-yhteydessä, mobiiliverkossa vai onko lankapuhelin itsessään heikkolaatuinen.

Edistynyt TCP/IP-optimointi palvelimilla ja pilvessä

Jos hallinnoit palvelimia, pilvivirtuaalikoneita tai vaativia verkkoprojekteja, voit säätää monia muita TCP/IP- ja kernel-parametreja. pienempi latenssi ja parempi suorituskyky. Erityisesti nopeissa verkoissa.

Ytimen ja TCP-pinon asetukset Linuxissa

Linuxissa, käyttämällä sysctl ja työkalut kuten tc o ethtool Voit käyttää edistyneitä optimointeja, kuten:

  • Alenna RTO:n vähimmäisarvoa (net.ipv4.tcp_rto_min_us) turvallisiin arvoihin, kuten 5000 µs (5 ms) matalan latenssin sisäisissä verkoissa. Nopeampi toipuminen pakettien katoamisesta.
  • Aktivoida Reilu jonotus (FQ) kanssa tc qdisc replace dev <iface> root fq. Jakaakseen kaistanleveyttä paremmin virtojen välillä ja välttääkseen liiallisia purskeita yhdestä yhteydestä.
  • Poista käytöstä hidas käynnistys käyttämättömyyden jälkeen (net.ipv4.tcp_slow_start_after_idle=0) palvelimilla, jotka käyttävät pysyviä yhteyksiä. Jotta ne eivät käynnisty alusta naurettavan pienellä kaistanleveydellä joka kerta herätessään lepotilasta.
  • Poista käytöstä ongelmallinen osa HyStart (ACK-junan tunnistus) Cubic TCP:ssä. Estääkseen ruuhkan aiheuttamien väärien positiivisten tulosten hidastumisen ikkunan kasvussa.
  • Lisää TCP-puskurit (tcp_rmem, tcp_wmem, rmem_max, wmem_max). voidakseen ylläpitää suurta läpimenoaikaa yhteyksillä, joilla on korkea RTT, estäen sokettien muistin loppumisen kesken.
  • Raja tcp_notsent_lowat Tämä estää liikaa lähettämätöntä dataa kertymästä ytimeen ja suojaa siten järjestelmää liialliselta muistin kulutukselta.
  • mahdollistaa laitteisto GRO/LRO yhteensopivilla verkkokorteilla (ethtool -K <iface> rx-gro-hw onRyhmitelläkseen paketteja ja vähentääkseen suorittimen kuormitusta keskeytystä kohden.

suuret MTU:t ja tehokkaat verkot

Sisäisissä pilviverkoissa (esim. Google Cloud VPC:t), joissa tukea tarjotaan jumbo MTU jopa ~8900 tavuun astiOn erittäin suositeltavaa nostaa MTU:ta (esimerkiksi noin 4082 tavuun, joka on yhteensopiva 4 kt:n muistisivujen kanssa) sekunnissa käsiteltävien pakettien määrän vähentämiseksi ja suorittimen tehokkuuden parantamiseksi.

Internetiin lähtevän tai VPN-verkkojen kautta kulkevan liikenteen kanssa on kuitenkin oltava varovainen: siinä tapauksessa on parasta joko pitää MTU vakiona 1500 tai säätää sitä reittiä kohden (ip route change kanssa mtu y advmss), jotta ulkoinen viestintä ei kärsi pirstoutumisesta tai menetyksestä liian suurten pakettien vuoksi.

Verkkopalvelimet, HTTP/2/3 ja välimuisti

Verkkopalvelimilla (Nginx, Apache jne.) TCP:n virittämisen lisäksi voit vähentää havaittua viivettä huomattavasti ottamalla käyttöön HTTP/2 ja HTTP/3 (QUIC)jotka mahdollistavat useiden pyyntöjen multipleksoinnin yhden yhteyden kautta ja vähentävät kättelyiden kustannuksia.

Mahdollistaminen GZIP-pakkaus tai Brotlikäyttö muistin sisäinen välimuisti (Redis, Memcached), pienennä CSS/JS ja tarjoile staattista sisältöä CDN lähellä olevilla läsnäolopisteillä käyttäjälle. Jokainen millisekunti, jonka säästät TTFB:ssä (Time To First Byte) ja verkon RTT:ssä, tarkoittaa, että sivusto reagoi "nopeammin" kävijän silmissä.

Jatkuva valvonta ja latenssimittarit

Lopuksi, jos olet tosissasi suorituskyvystä, sinun on mitattava sitä jatkuvasti. Työkaluja, kuten ApacheBench, wrk, JMeter tai havainnointiohjelmistojen (Prometheus + Grafana, New Relic, Datadog…) avulla voit seurata RTT, TTFB, latenssiprosenttiilit, läpäisykyky ja virhesuhde kuormituksen alla.

Hälytysten asettaminen, kun TTFB ylittää tietyt kynnysarvot, kun palveluiden välinen sisäinen ping piikkii tai kun pakettien menetys kasvaa, auttaa ennakoivasti havaitsemaan verkko-ongelmia, suorittimen kyllästymistä, reittimuutoksia tai pullonkauloja ennen kuin viive saavuttaa loppukäyttäjän.

Kun kaikki nämä käsitteet ja asetukset ovat pöydällä, MTU:sta ja MSS:stä reitittimen QoS:ään, kiihdytettyihin pilviverkkoihin ja web-palvelinten kokoonpanoon, on selvää, että viive ei ole yhden taikatekijän seurausta. Se on monien verkkokomponenttien ja itse TCP/IP:n summa, joka oikein viritettynä mahdollistaa pelien, videopuheluiden, etätyön ja verkkosivustojen reagoinnin tällä tavalla. välittömyyden tunne jota me kaikki tavoittelemme, ja se saavutetaan usein paremmin säätämällä ja ymmärtämällä verkkoa kuin pelkästään hankkimalla "enemmän megatavuja".

Ethernet-verkon asentaminen Windowsissa vaihe vaiheelta
Aiheeseen liittyvä artikkeli:
Ethernet-verkon asentaminen Windowsissa vaihe vaiheelta