Bonjour,
Ayant commandé, reçu, testé des soekris 6501 afin de servir de routeur,
passerelle, concentrateur VPN, ... bref un peu tout, je me suis aperçu
que les performances s'écroulent dramatiquement dès que le routeur est
sollicité.
Les performances brutes (sans IPtables, ...) uniquement en routage, on
atteint presque 1Gb/s.
Lors de l'utilisation d'IPTables, les performances s'écroulent
sévèrement pour atteindre 250Mb/s.
Ayant un transit internet 100Mb/s de commit avec 1Gb/s de burst, je
trouve dommage d'être limité à 250Mb/s.
Après examen de /proc/interrupts, on s'aperçoit que:
- La machine voit bien ses 2 CPUs (coeurs)
- Les interruptions des 4 interfaces réseau sont sur le CPU0
(majoritairement).
# egrep "(eth|CPU)" /proc/interrupts
CPU0 CPU1
40: 10460220 0 PCI-MSI-edge eth0-rx-0
41: 18965372 6687 PCI-MSI-edge eth0-tx-0
42: 5 0 PCI-MSI-edge eth0
43: 4165358 65846 PCI-MSI-edge eth1-rx-0
44: 875081 10055 PCI-MSI-edge eth1-tx-0
45: 5 0 PCI-MSI-edge eth1
47: 1543827 3451 PCI-MSI-edge eth2-rx-0
48: 209462 774 PCI-MSI-edge eth2-tx-0
49: 5 0 PCI-MSI-edge eth2
50: 12990523 6874 PCI-MSI-edge eth3-rx-0
51: 11156335 5841 PCI-MSI-edge eth3-tx-0
52: 5 0 PCI-MSI-edge eth3
Après avoir "rééquilibré" les interruptions sur les 2 coeurs du CPU le
débit (IPTables activé) a doublé. On parvient en effet à 550Mb/s. C'est
certes loin de 1Gb/s, mais déjà bcp mieux.
## eth0/1
# for i in {40..45}; do echo 1 > /proc/irq/$i/smp_affinity; done
## eth2/3
# for i in {47..52}; do echo 2 > /proc/irq/$i/smp_affinity; done
Esperant que celà puisse servir à certain(e)s.
Laurent
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/