GNU/Linux >> Linux Esercitazione >  >> Linux

Risoluzione dei problemi di comunicazione di rete lenta o timeout di connessione in Linux

La risoluzione dei problemi di una rete lenta o di perdite di pacchetti di rete può essere complicata. Oltre a una comunicazione di rete più lenta, potrebbero essere osservati altri sintomi, come :

  • I tentativi di connessione a un server con ssh e/o sftp provocano timeout o una risposta ritardata.
  • Quando il carico di rete aumenta, si osserva un numero elevato di ritrasmissioni di rete.
  • Potrebbe esserci un numero elevato di pacchetti persi nell'output del comando "ifconfig eth[x]".

Alcuni altri sintomi includono anche:

– L'output del comando:netstat -s mostra valori crescenti per le seguenti statistiche :(esegui più volte 'netstat -s'):

13336 packets pruned from receive queue because of socket buffer overrun
516 times the listen queue of a socket overflowed
516 SYNs to LISTEN sockets ignored
2040077 packets collapsed in receive queue due to low socket buffer
TCPBacklogDrop: 744165

– L'output del comando:ethtool -S eth[x] mostra valori crescenti rispetto al contatore:“rx_fw_discards”:

rx_fw_discards: 4493

Cause delle prestazioni di rete più lente

Potrebbero esserci diversi motivi per prestazioni di rete più lente. Ma alcune delle possibili cause sono:

  • La rete è già molto carica, fino alla sua capacità massima e c'è congestione.
  • I buffer di ricezione configurati non sono sufficienti per il carico di rete.
  • Ci sono cali di pacchetti a causa di errori a livello fisico.

Risoluzione dei problemi di prestazioni di rete lente

1. Controlla il throughput della rete utilizzando lo strumento iperf e scopri se l'utilizzo della larghezza di banda della rete si sta avvicinando al throughput massimo osservato.

Come utilizzare Iperf per testare le prestazioni di rete in Linux

2. Impostare i valori per i parametri di rete in modo appropriato per supportare la massima velocità di trasmissione della rete. Trova il valore del prodotto di ritardo della larghezza di banda (BDP) e imposta la dimensione del buffer di rete di conseguenza. Viene calcolato come il prodotto della larghezza di banda del collegamento e del tempo di andata e ritorno.

Ad esempio:

– Per una rete da 1 Gb/s e un tempo di viaggio di andata e ritorno di 0,1 s, il BDP=(0,1 * 10^9)/8. Su tale rete, imposta i seguenti valori di parametro nel file:/etc/sysctl.conf

# vi /etc/sysctl.conf
net.core.rmem_max = 12500000
net.core.wmem_max = 12500000
net.ipv4.tcp_rmem = 4096 87380 12500000
net.ipv4.tcp_wmem = 4096 65536 12500000

E aumenta anche i seguenti parametri:

# vi /etc/sysctl.conf
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_max_syn_backlog = 4096

E quindi esegui il comando:

# sysctl -p

a) Per entrambe le modifiche non è necessario un riavvio del sistema.

b) Posta questa modifica, è necessario monitorare l'output del comando "netstat -s" e verificare se i seguenti contatori sono ancora in aumento:

packets pruned from receive queue because of socket buffer overrun
times the listen queue of a socket overflowed
SYNs to LISTEN sockets ignored
packets collapsed in receive queue due to low socket buffer
TCPBacklogDrop

3. Aumentare la dimensione del buffer RX Ring della scheda di rete. C'è un compromesso quando si imposta questo numero. Un valore maggiore potrebbe ritardare l'elaborazione dei pacchetti e un valore inferiore potrebbe causare la caduta dei pacchetti quando il driver corrispondente incontra un ritardo nell'elaborazione dei pacchetti in arrivo.

a) In genere, iniziare raddoppiando la dimensione dell'anello RX e monitorare l'output del comando "ethtool -S eth[x]".

# ethtool -G eth[x] rx 512

b) Per rendere permanente questa modifica, aggiungi quanto segue al file:/etc/sysconfig/network-scripts/ifcfg-eth[x] :

# vi /etc/sysconfig/network-scripts/ifcfg-eth[x]
ETHTOOL_OPTS="-G rx 512"


Linux
  1. Gestisci le connessioni di rete dalla riga di comando di Linux con nmcli

  2. Risoluzione dei problemi di WiFi lento su Linux

  3. Risoluzione dei problemi hardware in Linux

  4. 10 comandi Linux per la diagnostica di rete

  5. 5 Comandi per la risoluzione dei problemi di rete Linux

5 migliori temi Linux Conky

Una raccolta di utilità per semplificare la risoluzione dei problemi di rete Linux e l'ottimizzazione delle prestazioni

Una guida per principianti alla risoluzione dei problemi di rete in Linux

I miei comandi per la risoluzione dei problemi di rete Linux

3 modi per configurare un'interfaccia di rete in Linux

comando Linux nload