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/

Répondre à