Zoeken op website

Hoe u de internetsnelheid van Linux Server kunt verhogen met TCP BBR


BBR (Bottleneck Bandwidth en RTT) is een relatief nieuw algoritme voor congestiecontrole, geschreven door software-ingenieurs bij Google. Het is de nieuwste oplossing uit de aanhoudende pogingen van Google om het internet sneller te maken via het TCP-protocol – het werkpaard van het internet.

Het primaire doel van BBR is om het netwerkgebruik op te starten en wachtrijen te verminderen (die resulteren in langzame netwerkactiviteit): het moet worden geïmplementeerd op servers, maar niet in het netwerk of aan de clientzijde. In Linux is BBR geïmplementeerd in kernelversie 4.9 of hoger.

In dit artikel leggen we TCP BBR kort uit en laten we vervolgens zien hoe je de internetsnelheid van een Linux-server kunt verhogen met behulp van TCP BBR-congestiecontrole in Linux.

Vereisten

Je zou Linux kernelversie 4.9 of hoger moeten hebben geïnstalleerd, gecompileerd met deze opties (hetzij als een module of erin ingebouwd):

  • CONFIG_TCP_CONG_BBR
  • CONFIG_NET_SCH_FQ
  • CONFIG_NET_SCH_FQ_CODEL

Hoe kernelmodules in Linux te controleren

Om te controleren of de bovenstaande opties in uw kernel zijn gecompileerd, voert u deze opdrachten uit:


cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'

Bekijk deze handleidingen om je kernel bij te werken:

  1. Hoe Kernel te upgraden naar de nieuwste versie in Ubuntu
  2. Hoe te installeren of upgraden naar de nieuwste kernelversie in CentOS 7

TCP BBR-congestiecontrole inschakelen in Linux

BBR werkt effectief met pacing, dus het moet samen met de klasseloze pakketplanner fq qdisc worden gebruikt voor het pacing van het verkeer. Voor meer informatie over fq qdisc typt u:

man tc-fq

Met een goed begrip van BBR kunt u het nu op uw server configureren. Open het bestand /etc/sysctl.conf met uw favoriete editor.

vi /etc/sysctl.conf

Voeg de onderstaande opties toe aan het einde van het bestand.

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

Sla het bestand op en sluit het. Voer vervolgens de wijzigingen in het systeem uit met behulp van de opdracht sysctl.

sysctl --system

Uit de schermafdruk kunt u zien dat de opties zijn toegevoegd met de juiste waarden.

Configuratie van TCP BBR-congestiecontrole testen

Nadat u de benodigde configuraties heeft uitgevoerd, kunt u testen of het praktisch werkt. Er zijn verschillende tools om de bandbreedtesnelheid te meten, zoals Speedtest-CLI:

  1. Hoe u uw internetsnelheid bidirectioneel kunt testen vanaf de opdrachtregel met behulp van de ‘Speedtest-CLI’-tool

Andere tools zijn bmon (bandbreedtemonitor), nload, Wget – op commando's gebaseerde bestandsdownloader en cURL die allemaal de netwerkbandbreedte tonen; je kunt ze gebruiken om te testen.

BBR Github-repository: https://github.com/google/bbr

Misschien vindt u het ook leuk om de volgende gerelateerde artikelen te lezen.

  1. Stel uw eigen "Speedtest Mini Server" in om de snelheid van de internetbandbreedte te testen
  2. Hoe u de netwerkbandbreedte kunt beperken die wordt gebruikt door applicaties in een Linux-systeem met Trickle
  3. Hoe u Kernel Runtime-parameters op een persistente en niet-persistente manier kunt wijzigen

In dit artikel hebben we laten zien hoe u de internetsnelheid van de Linux-server kunt verhogen met behulp van TCP BBR-congestiecontrole in Linux. Test het uitgebreid onder verschillende scenario's en geef ons belangrijke feedback via het onderstaande opmerkingenformulier.

Krediet: Nixcraft