60 lines
1.8 KiB
Markdown
60 lines
1.8 KiB
Markdown
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
|
|
|
|
# Howto NetworkTuning
|
|
|
|
Doc officiel du kernel : <https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt>
|
|
|
|
/!\ À partir de Linux 2.6.7 il a des routines de « tuning automatique », et il n'est pas recommandé de modifier certaines valeurs.
|
|
|
|
## TCP
|
|
|
|
Quelques optimisations basés sur <http://www.nateware.com/linux-network-tuning-for-2013.html>
|
|
|
|
~~~
|
|
# Increase Linux autotuning TCP buffer limits
|
|
# Set max to 16MB (16777216) for 1GE and 32M (33554432) or 54M (56623104) for 10GE
|
|
# Don't set tcp_mem itself! Let the kernel scale it based on RAM.
|
|
net.core.rmem_max = 16777216
|
|
net.core.wmem_max = 16777216
|
|
net.core.rmem_default = 16777216
|
|
net.core.wmem_default = 16777216
|
|
net.core.optmem_max = 40960
|
|
net.ipv4.tcp_rmem = 4096 87380 16777216
|
|
net.ipv4.tcp_wmem = 4096 65536 16777216
|
|
~~~
|
|
|
|
|
|
~~~
|
|
# Make room for more TIME_WAIT sockets due to more clients,
|
|
# and allow them to be reused if we run out of sockets
|
|
# Also increase the max packet backlog
|
|
net.core.netdev_max_backlog = 50000
|
|
net.ipv4.tcp_max_syn_backlog = 30000
|
|
net.ipv4.tcp_max_tw_buckets = 2000000
|
|
net.ipv4.tcp_tw_reuse = 1
|
|
net.ipv4.tcp_fin_timeout = 10
|
|
~~~
|
|
|
|
## Carte réseau
|
|
|
|
Augmentation du buffer de la carte réseau, cela permet de stocker plus de paquets dans son cache si le système n'y arrive plus (machine trop chargé, …).
|
|
On regarde la conf avec « -g » et on la modifie avec « -G rx N » et « -G tx N ».
|
|
|
|
~~~
|
|
# ethtool -g eth0
|
|
Ring parameters for eth0:
|
|
Pre-set maximums:
|
|
RX: 4096
|
|
RX Mini: 0
|
|
RX Jumbo: 0
|
|
TX: 4096
|
|
Current hardware settings:
|
|
RX: 256
|
|
RX Mini: 0
|
|
RX Jumbo: 0
|
|
TX: 256
|
|
~~~
|
|
|
|
/!\ Attention ce n'est pas géré par toutes les cartes réseau. Il faut des cartes « PRO », de type Intel ou Broadcom.
|
|
|