GNU/Linux >> Znalost Linux >  >> Linux

Odstraňování problémů s pomalou síťovou komunikací nebo časovými limity připojení v Linuxu

Odstraňování problémů s pomalou sítí nebo výpadky síťových paketů může být složité. Kromě pomalejší síťové komunikace mohou být pozorovány další příznaky, například:

  • Pokusy o připojení k serveru pomocí ssh a/nebo sftp vedou k vypršení časového limitu nebo zpožděné odpovědi.
  • Když je zatížení sítě vysoké, dochází k velkému počtu opakovaných přenosů sítě.
  • Ve výstupu příkazu ” ifconfig eth[x]” může být vidět velký počet zahození paketů.

Některé další příznaky také zahrnují:

– Výstup příkazu:netstat -s zobrazuje rostoucí hodnoty pro následující statistiky :(spustit několikrát ‚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

– Výstup příkazu :ethtool -S eth[x] ukazuje rostoucí hodnoty oproti čítači:„rx_fw_discards“:

rx_fw_discards: 4493

Příčiny pomalejšího výkonu sítě

Důvodů pro pomalejší výkon sítě může být několik. Ale některé z možných příčin jsou:

  • Síť je již vysoce zatížena až na maximální kapacitu a dochází k přetížení.
  • Konfigurované vyrovnávací paměti pro příjem nejsou dostatečné pro zatížení sítě.
  • Dochází k zahazování paketů kvůli chybám na fyzické vrstvě.

Odstraňování problémů s pomalým výkonem sítě

1. Zkontrolujte propustnost sítě pomocí nástroje iperf a zjistěte, zda se využití šířky pásma sítě blíží maximální pozorované propustnosti.

Jak používat Iperf k testování výkonu sítě v Linuxu

2. Nastavte hodnoty síťových parametrů vhodně tak, aby podporovaly maximální propustnost sítě. Najděte hodnotu Bandwidth delay product (BDP) a podle toho nastavte velikost síťové vyrovnávací paměti. Vypočítá se jako součin šířky pásma spojení a doby zpáteční cesty.

Například:

– Pro síť 1 Gb/s a zpáteční dobu 0,1 s je BDP =(0,1 * 10^9)/8. V takové síti nastavte v souboru následující hodnoty parametrů:/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

A zvyšte také následující parametry:

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

A pak spusťte příkaz:

# sysctl -p

a) Pro obě změny není potřeba restartovat systém.

b) Po této změně je nutné sledovat výstup příkazu „netstat -s“ a zkontrolovat, zda se následující čítače stále zvyšují:

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. Zvětšete velikost vyrovnávací paměti RX Ring NIC. Při nastavení tohoto čísla existuje kompromis. Vyšší hodnota by mohla zpozdit zpracování paketů a nižší hodnota by mohla způsobit zahození paketů, když příslušný ovladač narazí na zpoždění při zpracování příchozích paketů.

a) Obecně začněte zdvojnásobením velikosti RX Ring a sledujte výstup příkazu „ethtool -S eth[x]“.

# ethtool -G eth[x] rx 512

b) Chcete-li, aby tato změna byla trvalá, připojte k souboru následující:/etc/sysconfig/network-scripts/ifcfg-eth[x] :

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


Linux
  1. Spravujte síťová připojení z příkazového řádku Linuxu pomocí nmcli

  2. Odstraňování problémů s hardwarem v Linuxu

  3. Odstraňování problémů se sítí Linux a ladění?

  1. Odstraňování problémů s pomalým WiFi v systému Linux

  2. 10 Linuxových příkazů pro diagnostiku sítě

  3. 5 Příkazy pro odstraňování problémů se sítí Linux

  1. Linux – pomalá média – ladění mezipaměti disku?

  2. Linux OS Service ‚síť‘

  3. Existuje STDCALL v Linuxu?