17. Historic BalanceNG Benchmark Results

This method of benchmarking the underlying hardware, NICs and OS is nowadays deprecated with the modern multithreading packet scheduler of BalanceNG. With the current release of BalanceNG, you are able to reach wire speed even on 10GBit network interfaces - we’ll soon release a new analysis method which will help to identify any possible remaining bottlenecks like the PCI bus, the NIC or even the OS itself.

This is our collection of historic BalanceNG Benchmark results using the default benchmark parameters (a packetsize of 1514, a window size of 16 and a duration of 300 seconds).

This BalanceNG benchmark was intended to measure the maximum performance which a platform is able to deliver (with all it’s components: Operating system, interfaces and switches). Actually, load balancing itself is not measured by this and happens on top of the basic “switching engine” of BalanceNG.

Gigabit Networking Benchmark Results

BalanceNG Hardware and OS Platform Packets/Second Bytes/Second
Intel Core 2 Duo 2.4GHz, virtual cross cable with 4 threads per interface, crosscable instance on the same machine, veth0 and veth1 interfaces 154813 234387543
Supermicro 1HU system, SMC GBit-Switch, bond0 and bond1 bonding interfaces 81177 122902442
Sun X2100, single core AMD, Solaris 10, bge0 nge0 Gigabit Interfaces, Netgear Gigabit Ethernet Switch 69130 104664314
Supermicro 1HU system, CAT6 cross cable between eth2 and eth3 64020 96926290
Sun Blade X6250, Red-Hat AS4, eth0-eth1, Cisco 3560G Switch (VLAN) 64000 96896918
Sun-Fire V240, Solaris 10 606, bge3 bge1 Gigabit Interfaces, cross cable 37400 56623772
Pentium 4 2GHz, Linux 2.6 Kernel, 2 Intel Pro/1000 on same PCI Bus, Netgear Gigabit Ethernet Switch 35251 53370993
Sun-Fire V240, Solaris 10 606, bge3 bge2 Gigabit Interfaces, cross cable 28476 43113350
Sun Blade X6250, Solaris 10, cross cable e1000g1-nxge0 18324 27743132
Sun-Fire T2000, Solaris 10 606, ipge1 ipge2 Gigabit Interfaces, cross cable 18156 27488356
Fujitsu/Siemens PrimePower 250, Solaris 10 (SPARC), fjgi1/2 Interfaces, cross cable 16340 24739714

100MBit Networking Benchmark Results

BalanceNG Hardware and OS Platform Packets/Second Bytes/Second
Sun Blade X6250, Solaris 10, e1000g0 e1000g1, 100MBit-Interface on Cisco 3560g/3560 VLAN 8047 12184213
Fujitsu/Siemens PrimePower 250, Solaris 10 (SPARC), fjqe0/1 Interfaces, cross cable 7851 11887166
VIA Esther processor 1500MHz with 1Gig ram 3002.91 bogomips on a linux 2.6.17-2-686 (debian) kernel, eth0 (VIA Rhine II) & eth6 (RealTek RTL8139) 7540 11416817
VIA EK10000 1GHz, Linux 2.4 Kernel (Devil-Linux), 2 on-board 100MBit, Netgear Ethernet Switch 7217 10927875
VIA PD10000 1GHz, Linux 2.4 Kernel (Devil-Linux), 2 on-board 100MBit, Netgear Ethernet Switch 7046 10668179
Sun Netra T1, Solaris 9, hme0 and hme1 interfaces, Linksys switches 6103 9240331
SUN X1, 550MHz, Solaris 10 305, dfme1 / dfme0 interfaces, Two Cisco Fast Ethernet Switches (connected with Gigabit) 6025 9122592
Soekris net4801, 266 Mhz SC1100 processor, 128M ram, National Semiconductor 100M eth1/2, Netgear 8 port 100M switch 2406 3643451

How to obtain BalanceNG platform benchmark results

Step 1: Network and interfaces connection setup

Connect two physical interfaces of the machine to the same switch. Two separate interfaces are required for the BalanceNG “benchmark” command.

Step 2: Download and install BalanceNG

The “bng” executable may be directly executed from the directory created by extracting the compressed distribution archive. On Solaris systems the “bngfilt” STREAMS module needs to be installed, take a look at the README file in the bngfilt-binaries directory of the distribution. Note: A reboot of the operating system is not necessary.

Step 3: Attaching the interfaces and starting the benchmark

Attach the interfaces and start the benchmark like this (Licensing not required, replace “eth0” and “eth1” by your interface names and don’t forget to load the “benchmark” module):

# ./bng start
BalanceNG: starting up ...
# ./bng control
BalanceNG: connected to PID 7895
bng# module benchmark
bng# interface eth0
interface eth0 successfully attached
bng# interface eth1
interface eth1 successfully attached
bng# benchmark eth0 eth1
bng# show benchmark
  benchmark active and running:
    duration (seconds) : 300
    packetsize         : 1514
    window size        : 16
    packets sent       : 397266
    packets received   : 397250
    seconds remaining  : 289
bng#                                   

Step 4: Display the benchmark results after 5 minutes execution time

bng# show benchmark
 benchmark finished with the following results:
 duration (seconds) : 300
 packetsize : 1514
 window size : 16
 packets sent : 10463134
 packets received : 10463118
 lost packets : 0
 packets per second : 34877
 bytes per second : 52803869
 bng#