Sådan optimeres Ubuntu Internet Speed med MTU-indstillinger
Mens computertekster adskiller sig i deres anvendelse af udtrykket, bruger Ubuntu TCP Maximum Transmission Unit (MTU) for at henvise til den største størrelse af en TCP-pakke, som en maskine kan passere over en TCP / IP-netværksforbindelse. Under beregningen er denne værdi forholdsvis enkel og standardværdier arbejder på et flertal af maskiner. Det kan være muligt at optimere systemet yderligere, hvis pakkerne fragmenterer på grund af usædvanlige indstillinger. At sende store enkelt udgående pakker er mere effektivt end at sende flere mindre udgående.
Den nemmeste måde at finde ud af den korrekte MTU-værdi for din maskine er at åbne et terminalvindue. Hold CTRL, ATL og T nede eller start den måske fra Unity dash. Hvis du arbejder med Ubuntu Server, vil du som standard have en CLI-grænseflade uden noget grafisk miljø overhovedet. Når du er på terminalen, indtast ping-s 1464-c1 distrowatch.com og vent på output. Hvis du ikke modtager noget, er din netværksforbindelse ikke konfigureret korrekt. Hvis du antager, at du har modtaget korrekt output, så kig efter et afsnit, der læser 1464 (1492) bytes data, hvilket angiver, at du sender pakken med 28 bytes headerinformation.
Metode 1: Undersøgelse af pingoutput til pakkefragmentering
Ping-kommandoen vil fortælle dig, om pakken blev sendt som mere end et fragment med flere headerdata vedhæftet. Undersøg output for enhver linje, der advarer om noget vedrørende Frag nødvendigt og DF sæt (mtu = 1492) eller en lignende tekst. Afhængigt af hvilken version af ping, der blev inkluderet i din version af Ubuntu, kan advarslen formuleres forskelligt. Skulle denne tekst ikke være til stede, så arbejder du sandsynligvis allerede med nogle MTU-målinger, der ikke sender ud fragmenterede pakker på nuværende tidspunkt.
For at finde den mest optimerede MTU til dit system, vil du gerne køre denne ping-kommando med en lille pakke størrelse, og derefter øge det med tiden, indtil det begynder at fragmentere, hvorefter du overvejer dette dit cutoff-punkt. Husk at MTU = nyttelast + 28, da der skal være plads til header data. Nu, hvis du kan øge størrelsen til noget meget stort uden nogen fragmenter, så kan din netværksgrænseflade muligvis håndtere massive pakker uden behov for generering af fragmenter. Når du endelig ser en Frag-nødvendig advarsel, betyder det at enhver pakke sendt med en nyttelast, størrelsen du løb eller højere vil sende som flere pakker. Antag at hvis du forsøger at pinge 2464-c1 distrowatch.com uden nogen advarsel, men ping-s 2465-c1 distrowatch.com sender en advarsel betyder det, at 2.464 + 28 er den største MTU-indstilling, som din TCP / IP-konfiguration kan håndtere før du sender flere fragmenterede pakker. Det kan tage et øjeblik at finde ud af en nøjagtig værdi.
Når du har en værdi i tankerne fra at køre ping-kommandoen flere gange, skal du køre sudo ifconfig for at finde en liste over kendte netværksgrænseflader. Ubuntu og dets derivater har ud rodkontoen, men vi opererede fra en shell lavet af sudo bash til vores eksempler. Det anbefales at du hellere bare forord hver kommando med sudo individuelt.
Så snart du kender den rigtige enhed, prøv:
sudo ifconfig interfaceName mtu ####
Udskift interfaceName med navnet på den netværkskort, du arbejder med, og erstat #### med den størrelse du fandt plus 28 for headerinformation. Du kan køre ifconfig for at se, hvad standard MTU var til din NIC og køre den igen flere gange for at se, om denne tidligere kommando ændrer den. Nogle netværkskortadaptere vil ikke lade dig ændre det. Hvis det er tilfældet, vil yderligere optimering være frugtløs desværre. Hvis det dog fungerede, så kan du faktisk gøre det permanent. Prøv at køre ifconfig | grep MTU for at finde alle værdierne, hvis du har flere stik, og så kan du derefter matche værdierne til de stik, du arbejder med.
Metode 2: Gør MTU Optimeringer Stick
Indtil videre har du ikke foretaget nogen permanent ændring til dit system. Hvis du genstarter, vil du slette eventuelle ændringer, hvilket er godt, hvis du har lavet en fejltagelse, og du finder ud af, at du ikke længere kan oprette forbindelse til internettet. På den anden side, hvis du har fundet en præcis værdi for din MTU, skal du redigere dokument. Det er nok en god tid at lave en kopi af det, hvis der sker noget. Prøve eller noget lignende, så du har en kopi lige i tilfælde. Hvis du gerne vil redigere det grafisk, skal du skrive og indtast dit kodeord. Hvis du bruger Kubuntu, Xubuntu eller Lubuntu, skal du erstatte gedit med den grafiske tekstredigerer, som din Ubuntu respin bruger. Xubuntu bruger for eksempel mousepad i stedet for gedit. Hvis du bruger Ubuntu Server eller simpelthen foretrækker at arbejde med kommandolinjen, skal du i stedet skrive , forudsat at du ikke bruger en root shell.
Uanset hvilken metode du brugte til at redigere den, skal du finde navnet på grænsefladen ifconfig spytte ud før. Lad os antage, at du kigger på den første Wifi-stik på din maskine, som sandsynligvis vil blive navngivet wlan0 eller noget lignende. I dette tilfælde skal du finde et kodestykke, der starter med iface wlan0 inet static eller noget lignende. Din kilometertal kan variere, men den næste linje vil læse adressen efterfulgt af en IP-adresse i ###. ###. #. ## format. Det kan være formateret anderledes, hvis du har en IPv6-forbindelse. Du har en netmaske og gateway linje, efterfulgt af noget, der lister et værtsnavn eller noget lignende. I bunden har du en anden linje, der læser mtu og et nummer. Udskift det nummer med den optimale MTU-værdi, gem dokumentet og afslut teksteditoren. Du vil gerne genstarte systemet for at sikre, at det fungerede.
Skulle alt være fint efter flere genstarter, skal du slette grænsefladen.bak-filen i din ~ / Dokumenter-mappe. Du kunne i stedet bruge sudo mv og så
hvis noget gik galt i processen.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke herMetode 3: Redigering af TCP Receive Window (RWIN) Indstillinger
Ubuntu henviser til den største mængde data, som en vært accepterer, før den anerkender afsenderen som RWIN-værdien. Hvis du downloader en 30 MB fil, sender den eksterne server ikke dig straks en 30 MB blok af data. Din Ubuntu-vært sender et specifikt RWIN-nummer, når det anmoder om filen, og derefter begynder serveren at streame data, indtil den har nået antallet af bytes, før den venter på en bekræftelse af, at dit system fik dataene. Når serveren modtager dette, begynder den at sende yderligere blokke, før man venter på en anden bekræftelse.
Latency er den tid, det tager at sende og modtage pakker fra en fjernserver. Forbindelsessatser bidrager til denne værdi, men det gør også mange andre forsinkelser. Ping-kommandoen vil forklare latens med hensyn til rundturstid (RTT) tal. Se på udgangen fra vores tidligere ping af DistroWatch. Du finder en linje, der læser time = 134 ms, hvilket er hvor lang tid det tog, at pakkerne gik tur fra vores Ubuntu-maskine til distrowatch.com og tilbage igen. Vi sendte en 1, 492 byte pakke, så på 134 ms kunne vi beregne en formel for at finde den samlede overførselshastighed:
1.492 / .134 sekunder = 11.134.328 bytes / sekund, som kommer ud til ca. 10, 88 binære kilobytes pr. Sekund. Det er ret langsomt generelt, hvorfor RWIN er på plads for at holde dig fra at skulle anerkende hver pakke sendt individuelt.
RWIN-indstillinger i Ubuntu er adskilt fra MTU-indstillinger. Beregn båndbreddeforsinkelsesproduktet (BDP) til din internetforbindelse med denne formel:
(Total maksimal båndbredde, din internetforbindelse skal levere i Bytes per sekund) (RTT i sekunder) = BDP
TCP-pakkestørrelse påvirker ikke RWIN, men selve pakkestørrelsen påvirkes af værdien valgt i metode 1. Brug denne kommando til at finde kernevariablerne relateret til RWIN:
Husk, at der er plads efter _mem, men ingen andre steder i den citatte tekst. Du får flere værdier tilbage. De nødvendige er net.ipv4.tcp_rmem, net.ipv4.tcp_wmem og net.ipv4.tcp_mem . Tallene efter disse værdier repræsenterer minimums-, standard- og maksimumværdierne for hver. De repræsenterer modtagervinduets hukommelsesvektor, send vektor og TCP-stakvektor. Hvis du kører Ubuntu Kylin, så har du måske en lang liste over yderligere. Du kan sikkert ignorere nogen af disse yderligere værdier. Nogle brugere af Kylin kan også se nogle af de værdier, der er afgrænset i andre scripts, men igen ser du blot efter disse linjer.
Ubuntu har ikke en RWIN-variabel, men net.ipv4.tcp_rmem er tæt. Disse variabler styrer hukommelsesforbruget og ikke kun TCP-størrelsen. De omfatter hukommelse, der er spist op af datastikstrukturer og korte pakker i massive buffere. Hvis du vil optimere disse værdier, skal du sende de maksimale størrelsespakker, du angiver i metode 1, til en anden fjernserver. Lad os bruge 1, 492-byte-standarden igen, trække 28 byte for header-oplysninger, men husk at du måske har en anden værdi. Brug kommandoen ping -s 1464-c5 distrowatch.com for at få yderligere RTT-data.
Du vil gerne køre denne test mere end en gang på forskellige tidspunkter af dagen og natten. Prøv også at pinge nogle andre eksterne servere for at se, hvor meget RTT varierer. Da vi havde et gennemsnit på lidt over 130 ms hver gang vi prøvede det, kan vi bruge formlen til at finde ud af vores BDP. Lad os antage, at du har en meget generisk 6 Mbit / sekund-forbindelse. BDP ville være:
(6.000.000 bit / sek) (. 133 sek) * (1 byte / 8 bit) = 99.750 byte
Det betyder, at standardværdien net.ipv4.tcp_rmem skal være et sted omkring 100.000. Du kan sætte det endnu højere, hvis du frygter, at du får en RTT lige så dårlig som et halvt sekund. Alle værdier i net.ipv4.tcp_rmem og net.ipv4.tcp_wmem skal indstilles identisk, da transmission og modtagelse af pakker sker via samme internetforbindelse. Du vil generelt gerne indstille net.ipv4.tcp_mem til den samme værdi, der bruges af net.ipv4.tcp_wmem og net.ipv4.tcp_rmem, da denne første variabel er den samlede største bufferhukommelsesstørrelse, der er indstillet til TCP-transaktioner.
Udsted kommandoen og se om begge disse indstillinger er indstillet til 0 eller 1, hvilket angiver en tilstand, der er slukket eller tændt.
Indstilling af net.ipv4.tcp_no_metrics_save til 1 vil tvinge Linux-kernen til at optimere modtagelsesvinduet mellem net.ipv4.tcp_rmem og net.ipv4.tcp_wmem værdierne på en dynamisk måde. Når net.ipv4.tcp_moderate_rcvbuf er aktiveret, forhindrer det overbelastning fra at påvirke efterfølgende tilslutning. Før du foretager permanente ændringer, udfør en hastighedscheck gennem http://www.speedtest.net eller http://www.bing.com/search?q=speed+test for at sikre, at du har et håndtag på dine målinger.
Ændre variablerne midlertidigt med dine beregnede værdier. Sørg for at erstatte #s med dine beregnede beløb.
sudo sysctl -w net.ipv4.tcp_rmem = ###############################################################################. tcp_mem = #### ##### ###### net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1
Retest din forbindelse for at se om hastigheden er forbedret, og hvis ikke, skal du ændre din kommando igen og genoprette den. Husk at du kan trykke på op-tasten i din terminal for at gentage den sidst anvendte kommando. Når du har fundet de relevante værdier, skal du åbne med kommandoen gksu eller sudo tekst editor fra metode 1, og rediger linjerne for at læse som følgende, og erstatt derefter #s igen med dine beregnede værdier. Du vil selvfølgelig også gerne sikkerhedskopiere fil på samme måde som du gjorde i del en, bare hvis du begår en fejl. Hvis du har lavet en, så kan du også gendanne på samme måde.
net.ipv4.tcp_rmem = ###############
net.ipv4.tcp_wmem = ###############
net.ipv4.tcp_mem = ###############
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
Gem det, når du er sikker på, at alt er i orden. Udsted følgende kommando:
sudo sysctl -p
Dette vil tvinge Linux-kernen til at genindlæse indstillingerne i , og hvis alt gik godt, så skulle det give dig i det mindste en noget hurtigere netværksforbindelse. Afhængigt af dine oprindelige standardindstillinger kan forskellen faktisk være dramatisk eller muligvis ikke mærkbar overhovedet.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her