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