APU2C0 IPFire throughput test - much faster than pfSense
Posted by Pawel Suwala on
APU2 to run at full gigabit on pfSense,
Few weeks ago we have published a pfSense throughput test for PC Engines APU2C0 board, and got few people scratching their heads. Why is the (still impressive) 620Mbit/s not a full Gigabit? The CPU is not running at 100%, the memory is not limiting the routing.
It turned out that pfSense 2.3.4 is the bottleneck, not the hardware itself. IPFire (linux) and OpenWRT(also Linux) can route a full Gigabit on APU2C0 board without breaking a sweat.
Here's the pfSense vs IPFire comparison:
Name | Router OS | Transfer 4 connections | Bandwith 4 connections | Transfer 1 connection | Bandwith 1 connection | Ping latency min | Ping avg | max | mdev |
no router. Switched connection | 1.09 GBytes | 940 Mbits/sec | 1.09 GBytes | 938 Mbits/sec | 0.254 | 0.31 | 0.363 | 0.035 | |
apu2c0 | pfSense 2.3.4 | 739 MBytes | 620 Mbits | 732 MBytes | 614 Mbits/sec | 0.331 | 0.45 | 0.653 | 0.08 |
apu2c0 | IPFire 2.19 | 1.09 GBytes | 940 Mbits/sec | 1.09 GBytes | 940 Mbits/sec | 0.43 | 0.538 | 0.628 | 0.055 |
APU2 achieves a full line throughput under IPFire. If you have a gigabit internet, this should make you smile :-)
Here's a log from iperf3 and a screenshot from ipFire
root@homedesktop:/home/sniku/test# iperf3 -c 192.168.5.10 Connecting to host 192.168.5.10, port 5201 [ 4] local 192.168.1.3 port 52694 connected to 192.168.5.10 port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 1.00-2.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 2.00-3.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 3.00-4.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 4.00-5.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 5.00-6.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 6.00-7.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 7.00-8.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 8.00-9.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes [ 4] 9.00-10.00 sec 112 MBytes 941 Mbits/sec 0 229 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver iperf Done.
Why is IPFire able to route more on the same hardware?
BSD-based operating systems such as pfSense use single CPU core for routing. Linux based systems are spreading the routing load between CPU cores.
APU routers have 4 CPU cores. IPFire is able to use all of them for routing, while pfSense is using just one.
pfsense or IPFIre?
Does it mean that you should install IPFire instead of pfSense? No, not unless you need 1 Gbit throughput.
pfSense has more features, and has nicer user interface. IPFire is FAST, but it's somewhat lacking in UI and isn't as intuitive. If you don't have 1 Gbit internet, you should probably stick to pfSense or OPNSense.