Retourner sur le site

Tuning carte réseau (ethtool)

Optimiser une carte réseau sur serveur dédié HolyCloud avec ethtool : ring buffers, offloads, IRQ et diagnostic lien.

Tuning carte réseau (ethtool)

Sur un serveur dédié à fort trafic (CDN, streaming, terminateur VPN), les paramètres par défaut de la NIC peuvent limiter le débit ou augmenter la latence. ethtool inspecte et modifie les réglages du lien et des offloads matériels.

Prérequis

  • Serveur dédié Linux, interface identifiée (ip link)
  • Accès root
  • Sauvegarde des paramètres actuels avant changement
  • Compréhension : certains offloads cassent le bridging/VPN si mal configurés

Identification

ip -br link
ethtool eth0
ethtool -i eth0

Notez : driver, firmware, Speed, Duplex, Link detected.

Diagnostic lien

ethtool eth0 | grep -E 'Speed|Duplex|Auto|Link'
ethtool -S eth0 | less

Compteurs d'erreurs :

ethtool -S eth0 | grep -iE 'err|drop|fifo'

Erreurs CRC → câble, SFP, port switch. Discutez avec HolyCloud si le matériel est loué.

Ring buffers (rx/tx)

Augmenter les rings réduit les drops sous rafales :

ethtool -g eth0
ethtool -G eth0 rx 4096 tx 4096

Valeurs max selon carte :

ethtool -g eth0 | head

Persistez via systemd ou script @reboot — ethtool ne persiste pas toujours seul.

Exemple unit /etc/systemd/system/nic-tune.service :

[Unit]
Description=NIC ethtool tuning
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -G eth0 rx 4096 tx 4096
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now nic-tune.service

Offloads : activer ou désactiver ?

Liste :

ethtool -k eth0

| Offload | Rôle | Désactiver si… |

|---------|------|----------------|

| tcp-segmentation-offload (TSO) | Segmentation TCP sortante | Capture fine, certains tunnels |

| generic-receive-offload (GRO) | Agrégation réception | Bridge Open vSwitch spécifique |

| lro | Large Receive Offload | Routage asymétrique rare |

Serveur web classique 10 GbE :

# souvent laisser les offloads ON
ethtool -K eth0 tso on gso on gro on

Pont VPN / bridge transparent :

ethtool -K eth0 gro off lro off

Coalescing des interruptions

Réduit les IRQ sous charge :

ethtool -c eth0
sudo ethtool -C eth0 rx-usecs 50 tx-usecs 50

Trop agressif → latence plus haute ; mesurez avec mpstat et softnet_stat.

IRQ et RPS/XPS

Affinité IRQ (multi-queue) :

grep eth0 /proc/interrupts
# scripts set_irq_affinity selon vendor Intel/Mellanox

RPS (Receive Packet Steering) si une seule queue saturée :

echo 4096 | sudo tee /proc/sys/net/core/rps_sock_flow_entries

Documentation kernel : répartir la charge entre CPU.

Flow control (pause frames)

ethtool -a eth0

En datacenter, souvent off des deux côtés pour éviter les pauses en cascade — validez avec l'opérateur.

sudo ethtool -A eth0 rx off tx off

Test de débit

iperf3 -s
# client externe
iperf3 -c IP_PUBLIQUE -P 8 -t 30

Comparez avant/après tuning ; surveillez ethtool -S drops.

NIC multi-gigabit (ex. Intel X710)

Chargez le bon firmware, utilisez les dépôts intel-i40e / mlx5 selon carte. HolyCloud indique le chipset dans la fiche serveur.

dmesg | grep -i eth0
lspci | grep -i ethernet

Rollback

sudo ethtool -G eth0 rx 512 tx 512
sudo ethtool -K eth0 gro on gso on tso on

Redémarrez si le driver reste instable.

Dépannage

| Symptome | Piste |

|----------|-------|

| Link flapping | Câble SFP, négociation auto, ethtool -r eth0 reset |

| Débit plafonné à 100M | Négociation, câble cat5 |

| Perte après ethtool -G | Valeur trop haute — revenir au max autorisé |

Besoin d'aide ?

Fournissez ethtool eth0, ethtool -S eth0, modèle carte (lspci -v) et type de trafic pour avis sur le port switch côté HolyCloud.