Asymetric internet speed problem



  • I am trying to figure out why I am able to get the full download speed provided by my ISP, but am only able to get a small fraction of the upload speed that is provided. I have worked with my ISP to run tests and we have been able to determine that the speeds they provide are making it to my office, and therefore the issue is within the office. I ran simple Speedtest.net tests from a location within my LAN (after the pfSense gateway box), and also directly connected to the ISP (before the pfSense gateway box). I have also run iperf tests that show similar results. The test results below show the upload speed issue. My ISP provides 50 Mbps download and 25 Mbps upload.

    Test #1 (Dell Precision T3610), after gateway box and switch.
    Download speed 48.18 Mbps, upload speed 6.51 Mbps.

    Test #2 (Dell Latitude 6520), before gateway box.
    Download speed 47.01 Mbps, upload speed 26.16 Mbps.

    The pfSense gateway box has a basic firewall configuration. There is no traffic shaping being used. The hardware for the gateway box is a repurposed desktop system (Dell Optiplex 755). My hunch is that the upload speed issue is more likely related to the hardware, than to the pfSense gateway configuration. However I am not familiar with how to diagnose the hardware and identify the root cause of the issue. The basic information about the hardware is listed below.

    CPU
    CPU: Intel(R) Core(TM)2 Duo CPU E8600 @ 3.33GHz (3325.04-MHz K8-class CPU) Origin="GenuineIntel" Id=0x1067a Family=0x6 Model=0x17 Stepping=10

    WAN NIC
    em0: <Intel(R) PRO/1000 Network Connection 7.6.1-k> irq 21 at device 25.0 on pci0
    vendor = 'Intel Corporation'
    device = '82566DM-2 Gigabit Network Connection'
    em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active

    LAN NIC
    rl0: <RealTek 8139 10/100BaseTX> irq 18 at device 2.0 on pci1
    vendor = 'Realtek Semiconductor Co., Ltd.'
    device = 'RTL-8100/8101L/8139 PCI Fast Ethernet Adapter'
    rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active

    If there is something with the hardware that is causing the upload speed issue, it is not obvious to me. Can anyone point out what I might be missing. Or, offer some suggestions on what else I should be looking for. Thanks.

    Jeff



  • @jeffboyce said in Asymetric internet speed problem:

    LAN NIC
    rl0: <RealTek 8139 10/100BaseTX> irq 18 at device 2.0 on pci1
    vendor = 'Realtek Semiconductor Co., Ltd.'
    device = 'RTL-8100/8101L/8139 PCI Fast Ethernet Adapter'
    rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active

    That's ancient and even crappier than the current RealTek NICs, you can try the Realtek Driver: https://forum.netgate.com/topic/135850/official-realtek-driver-binary-1-95-for-2-4-4-release but you would be much better of with hardware from this decade.

    Stay away from RealTek for future purchases.


  • Netgate Administrator

    That driver is for re(4) NICs and this is rl(4). There migyht be a different rl driver available.

    The 8139 is genuinely terrible but even so I would expect more than 6Mbps!

    Try running a test from the pfSense box itself with iperf. iperf3 is available from the default repo.

    If you can see the full speed there try swapping the WAN and LAN assignments, put rl0 as WAN. Run the test again.

    It might be some low level incompatibility between that and whatever you have it connected to.

    You might also try putting a switch in between. And make sure you have disabled all the hardware offloading in System > Advanced > Networking.

    Steve



  • Yea, I now know to stay away from the Realtek nics, but this system was put into place a while ago and has been running for several years without an issue, until we recently identified the slow upload speed.

    I have disabled all the hardware offloading now, but will not be able to reboot it until other users are off the system late tonight. Then the next time I get into the office I can re-run the tests and see if it made a difference.

    I did run iperf tests from the gateway box when I was doing my testing. The results are listed below. It improves a little, and has more variability which is probably the Realtek quality issue.

    Client connecting to iperf.scottlinux.com, TCP port 5201
    TCP window size: 64.2 KByte (default)

    [ 3] local xxx.xxx.xxx.xxx port 3880 connected with 45.33.39.39 port 5201
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0- 1.0 sec 768 KBytes 6.29 Mbits/sec
    [ 3] 1.0- 2.0 sec 1.12 MBytes 9.44 Mbits/sec
    [ 3] 2.0- 3.0 sec 1.38 MBytes 11.5 Mbits/sec
    [ 3] 3.0- 4.0 sec 1.62 MBytes 13.6 Mbits/sec
    [ 3] 4.0- 5.0 sec 1.88 MBytes 15.7 Mbits/sec
    [ 3] 5.0- 6.0 sec 2.25 MBytes 18.9 Mbits/sec
    [ 3] 6.0- 7.0 sec 2.00 MBytes 16.8 Mbits/sec
    [ 3] 7.0- 8.0 sec 1.38 MBytes 11.5 Mbits/sec
    [ 3] 8.0- 9.0 sec 1.75 MBytes 14.7 Mbits/sec
    [ 3] 9.0-10.0 sec 768 KBytes 6.29 Mbits/sec

    [ 3] 0.0-10.1 sec 14.9 MBytes 12.3 Mbits/sec

    What has me really confused trying to understand the issue, is why the issue doesn't occur during download, but does during upload. The packets are traversing the same hardware both directions.

    Jeff


  • Netgate Administrator

    Because transmit and receive are different things. Different off-loading options apply. In a full duplex switched network they use different copper pairs in the cables. You should try swapping cables if you haven't already.

    You should use iperf3 both because it gives you more info and because you can use the -R flag to test in the opposite direction. Install it from the command line like so:

    pkg install iperf3
    rehash
    

    iperf by default, as you are testing now, sends from the client to the server. Those results you;re seeing are upload. Already higher than you can get from a LAN side client but still not great. It might be a problem with the WAN NIC. Check Status > Interfaces for errors or collisions.

    Steve



  • I have not tried swapping cables yet, but will add that to my testing when I have an opportunity. I didn't (still don't) see iperf3 in the available packages list, otherwise I would have installed it. I am assuming from your note that if I do pkg install iperf3 from the command line it will be there and install.

    Checking the interface status shows In/Out Errors 0/0 and Collisions 0 for both WAN and LAN interfaces. This has been up for 23 days since the last reboot.

    Jeff