Performance x86 - Bandwidth Tester.

I was curious about the performance on x86 hardware. I know this is largely a synthetic test but I was only getting about 350 Mbps symmetric through put on some old P4 servers with on-board intel gigabit NICs that were directly connected. It didn’t seem to be CPU limited since the usage would only spike to about 30-40%. I’m surprised it’s this low even if the servers are about 5 years old but it’s likely there is something incompatible about the hardware.

So my question is does anyone get near line rate performance with the bandwidth tester on a gigabit NICs (1500 MTU)? and if so what hardware (CPU/Hardware) are you using? I appreciate any information I’m just curious.

A) depending on the version the OS is largely single threaded, but reports usage across all cores. On a four core system 25% could well mean that the bandwidth tester thread on one core is running at 100%
B) are you testing THROUGH the routers, or FROM the routers? When running a bandwidth test the routers you are testing shouldn’t be running the bandwidth test server or bandwidth test client. There’s a huge - really, huge - difference between routing packets and terminating them with a user space process.

Also - if this is an old P4, you are probably using PCI-based Gigabit cards - and the PCI bus is simply not capable of transporting a very high packet count per second
(pci bus latency timers) as it is a shared bus which all devices in the PC have to use in parallel.
The PCI bus is also only 133 Megabytes/s half-duplex which is about 1 Gigabit half-duplex.

So even if your Network card could in theory use 100% of the pci bus, it could only push about 500 mbit/s tx/rx.

Conclusion: Use PCI-Express or PCI-X/64-bit Gigabit Cards :slight_smile:

Thank you for the responses.

Yes. This was what was limiting the performance. The PCI bus was running at 33Mhz with a 32bit width. I was able to get RouterOS 5.1 working on a R410 and we were able to get near line rate performance testing with a SmartBits. Although the on-board Broadcom NICs seemed to choke at about 310K packets per second. I’d like to do some testing with one of the Intel PRO 1000 GB NICs to see what kind of performance we could get but what we saw was more than adequate for our purposes.

Also does anyone know if Mikrotik intends to provide more detail output on the CPU usage? list usage for multiple cores and the processes that are running. Or is there anyway to access the proc filesystem?