APU2 iperf speed anomaly

  • iperf testing on three systems

    1. pfsense on APU2D4 (AMD GX-412TC SOC with 3 i210 nics)
    2. w10 box with core i5-3570k (realtek nic)
    3. freenas on HP Microserver (AMD Neo N40L w/ BCM5723 nics)

    all three are running latest versions. below, 'client' means iperf -c xxx.xxx.xxx.xxx and 'server' means iperf -s ...

    microserver client to apu server, 330Mbps
    w10 client to apu server, 330Mbps
    microserver client to w10 server, 950Mbps
    w10 client to microserver server, 950Mbps
    apu client to microserver server, 950Mbps
    apu client to w10 server, 950Mbps

    what gives? Do I need to tweak some system settings for the APU2D4 ?

  • Netgate Administrator

    Try using iperf3 (install it from the command line with pkg install iperf3) that way you can using the -R flag to test the reverse direction whilst still opening states from the client.

    By default iperf sends traffic from the client to the server so your results above indicate a receive issue on the APU. Make sure all hardware offloading is disabled in System > Advanced > Networking.

    Really though pfSense is not setup to be a TCP end point. It's optimised for routing so you should test through the firewall and not to it.


  • @stephenw10

    the APU2 has Intel i210 NICs, really, I should disable hardware offloading with those? I understand doing that on Realtek and stuff.

    huh, iperf3 gave lousier numbers, 275 nas->pfsense, but using -R it got 650 or so.

    my current internet connection is only 180Mbps so this isn't an actual bottleneck, i was just kinda surprised that the APU2 wasn't significantly faster at iperf than my previous APU1 with crummy realtek.

  • Netgate Administrator

    Yes, disable off loading if only as a test. It's something that can cause asymmetric throughput like that.

    Testing to or from pfSense is still not a good test though. Through it is far better.

    You can try testing with more processes. The igb NICs can use multiple queue. Maybe try -P 4.

    Also check the CPU usage when you're testing with top -aSH. See if you're hitting a limit with one core.

    Yeah I would also expect better throughput from an APU2 than an APU1.