velocità-server-linux

Come aumentare la velocità di connessione di un server linux con TCP BBR

Indice dei contenuti

Mini guida per aumentare la velocità di connessione TCP di un server linux

Quanti progressi sono stati fatti in brevissimo tempo nel mondo di Internet? Molte tecnologie sono state scoperte, implementate e, spesso, stravolte.
Alcuni algoritmi tutt’oggi utilizzati nei Sistemi Operativi, invece, sono rimasti lì, proprio dove erano nati, negli anni ’80.
Quando Internet era un posto molto diverso da come lo conosciamo.

Una scena di “Back to the Future”, con Christopher Lloyd, Michael J. Fox, 1985. (c) MCA/Universal Pictures

Ebbene, a distanza di circa 30 anni c’è una novità molto interessante nell’ambito degli algoritmi utili a ottimizzare il traffico della rete.

Il colosso di Mountain View ha infatti di recente annunciato che è riuscito a migliorare tra il 4% e il 14% la velocità di connessione TCP sui server linux grazie a una nuova implementazione dell’algoritmo che gestisce il controllo di congestione TCP.

La nuova implementazione si chiama BBR, acronimo di “Bottleneck Bandwidth and Round-trip time”.

Tale patch è stata ufficialmente inclusa nel kernel 4.9, e se lo hai disponibile o se hai la possibilità di installarlo, la configurazione sarà estremamente semplice.

E, così facendo, potrai aumentare la velocità di connessione del tuo server linux.

Ecco come procedere e vedere risultati concreti sulla velocità

Verifichiamo che il kernel sia >= a 4.9 con il comando:

uname -r

e verifichiamo quali sono gli algoritmi attualmente utilizzati.

sysctl net.ipv4.tcp_available_congestion_control

A questo punto creiamo un file per ridefinire i parametri:

/etc/sysctl.d/10-custom-kernel-bbr.conf

nel quale andremo a inserire:

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

A questo punto, non ci resta che eseguire il comando per abilitare i valori:

sysctl --system

e verificare che l’algoritmo sia effettivamente disponibile con:

sysctl net.ipv4.tcp_available_congestion_control

Abbiamo eseguito alcuni test nulla nostra infrastruttura e in molti contesti i benefici sono stati tangibili.

Ti invitiamo quindi a provare a fare la stessa cosa e vedere se ne trai vantaggio anche tu!

Un test che si può facilmente eseguire è con il tool iperf presente sui repository.

Su una debian 9 si può facilmente installare:

apt update && apt install iperf

lanciare il server che sarà in ascolto sulla porta di default 5001 al quale dovremmo connetterci:

iperf -s

e poi eseguire un client, sul nostro pc o su un altro server che si connetta al precedente server ed esegua dei benchmark di connettività:

iperf -c 5.144.175.245 -i 1 -t 20

Di seguito, trovi dei test eseguiti prima e dopo la configurazione in oggetto sul nostro servizio EasyCloud:

Test pre configurazione
Test post configurazione

E ora, misuriamo se otteniamo vantaggi.

Condividi anche tu con noi i benefici che hai tratto grazie a questa nuova implementazione e…buon lavoro!

Reference:

[1] https://cloud.google.com/blog/products/gcp/tcp-bbr-congestion-control-comes-to-gcp-your-internet-just-got-faster

[2] https://ripe76.ripe.net/presentations/10-2018-05-15-bbr.pdf

[3] https://queue.acm.org/detail.cfm?id=3022184

CONDIVIDI SUI SOCIAL

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

36 + = 41