Nous avons un pare-feu Linux avec deux adaptateurs 10Gbe orientés vers l'extérieur (Intel 82599EB) et un adaptateur 10Gbe orienté vers l'intérieur (Intel 82598EB).
Le problème que je rencontre est que le pare-feu ne transmet le trafic entrant qu'à un taux très bas : environ < 2 Mbps. Cependant, une connexion directe du pare-feu à une machine "intérieure" obtient ~6 Gbps, tandis qu'une connexion directe au pare-feu depuis une machine extérieure obtient ~1 Gbps. Il est clair qu'il y a encore des réglages à faire, mais les vitesses obtenues sont de l'ordre du Gbps.
Nous avons récemment mis à jour la base de données Intel ixgbe
de la version 2.1.4 à la version 3.7.14 en raison de problèmes de stabilité avec le pilote 2.1.4 (blocages) et il semble que c'est à ce moment-là que les problèmes de débit ont commencé.
J'ai également essayé la version 3.7.17, mais elle a donné des performances similaires à celles de la version 3.7.14. En revenant au pilote 2.1.4 (recompilé pour un noyau mis à jour, avec IXGBE_NO_LRO et IXGBE_NO_NAPI), j'ai pu obtenir un débit de ~Gbps (soit ~900 Mbps avec iperf sur TCP avec 3 threads).
Cela résout le problème immédiat, mais je préférerais pouvoir utiliser la version actuelle du pilote, car j'aimerais être au courant des corrections de bogues, etc.
- Comment dépanner les performances de transfert d'un routeur ou d'un pare-feu Linux ?
Plus précisément, comment puis-je savoir où le noyau / iptables / le pilote réseau, etc. passent leur temps lors de la transmission des paquets ?
Tout conseil pertinent serait apprécié.