GBit Routing with BSD [Part2]

Nachdem ich inzwischen das OpenBSD Kernel-Panic-Syndrom aufklären konnte (böse alte Festplatte) habe ich auch ein paar Linux und NetBSD Durchläufe gemacht und die Tests um iperf erweitert. Netperf ist zwar ein tolles Tool aber läuft scheinbar bei OpenBSD 4.2 AMD64 auf ein interessantes Problem auf. OpenBSD AMD64 bremst dabei jede TCP Verbindung auf ca 180MBit ein. Da netperf nur genau einen TCP Socket aufbaut und dort so schnell wie möglich Daten draufpackt fällts das deutlich auf. In der Gegenrichtung ist hingegen alles okay … 710MBit!? Deshalb habe ich anschließend alle Tests mit iperf und 3 TCP Sockets wiederholt um meine Vermutung zu untermauern. Aus den Benchmarks habe ich interessante Dinge gelernt:

  • Routern bringt es (fast) garnichts wenn man AMD64 statt i386 einsetzt
  • pf kostet bis zu ca 10% Performance
  • FreeBSD 7.0 wird ein grandioses Release
  • ich brauche ordentliche Netzwerkkarten für weitere Tests (sind schon bestellt)

Hardware

AMD Athlon64 3200+ 1GB DDR PC3200 Elitegroup ECS-nForce4-A939 

nfe0: NVIDIA nForce4 CK804 MCP9 Networking Adapter (onboard)
re0: Realtek RTL8110SB (PCI 32Bit, 33Mhz)

Benchmarks

  netperf iperf
OS nfe0 > re0 re0 > nfe0 nfe0 > re0 re0 > nfe0
FreeBSD 7.0 BETA3 i386 783 - 643 -
FreeBSD 7.0 BETA2 AMD64 782 738 646 635
OpenBSD 4.2 i386 576 661 564 626
OpenBSD 4.2 AMD64 180 710 602 621
Linux 2.6.21.5 i686 687 730 605 628
Linux 2.6.23.8-cfs-v24 i686 661 740 591 633
FreeBSD 6.2 i386 657 - 651 -
NetBSD 4.0 RC3 i386 614 655 597 602