Gigabit WAN slow download, fast upload



  • Hello,

    I was recently upgraded to 1 Gbps / 940 Mbps by my ISP. Testing from a VM behind pfSense I can get 940 Mbps up all day long, but only manage around 375 - 400 Mbps down where I should have a full 1 Gbps.

    I've noted that speedtest-cli is not reliable when run from pfSense itself, especially on higher bandwidth connections, but I'm getting around 500 Mbps down and 250 Mbps up when I attempt.

    Any thoughts as to why I'm not getting my full download speed (or even 50%), but I can pin the upload?

    mbuf usage is 1% and CPU seems to be below a few percentage points when saturating upload - hardly even registers when downloading.

    Thanks!



  • PPPoE connection exhibits this issue due to the way FreeBSD handles the NIC. See "PPPoE WANs do not take full advantage of NIC driver queues for receiving traffic" (https://redmine.pfsense.org/issues/4821) for more information. This has been a long standing issue with pfSense.



  • Personally, I think we need more info:

    • Give us the specs on your PFsense box (assuming its bare metal). Also, what kind of NIC's are in it?

    • What packages are installed?

    • When testing with VM's, what hypervisor are you using and what are the specs of the host? Also, how is the VM connected to the network? Does the PFsense VM have dedicated NIC's or is LAN adapter being shared with other VM's?



  • @superweasel said in Gigabit WAN slow download, fast upload:

    PPPoE connection exhibits this issue due to the way FreeBSD handles the NIC. See "PPPoE WANs do not take full advantage of NIC driver queues for receiving traffic" (https://redmine.pfsense.org/issues/4821) for more information. This has been a long standing issue with pfSense.

    Thanks! I read about the PPPoE stuff, but I do not have a PPPoE connection. My ISP uses DHCP and VLANs.



  • @marvosa said in Gigabit WAN slow download, fast upload:

    Personally, I think we need more info:

    • Give us the specs on your PFsense box (assuming its bare metal). Also, what kind of NIC's are in it?

    • What packages are installed?

    • When testing with VM's, what hypervisor are you using and what are the specs of the host? Also, how is the VM connected to the network? Does the PFsense VM have dedicated NIC's or is LAN adapter being shared with other VM's?

    pfSense box is bare metal, it has the following specs:

    • AMD Athlon 200GE
    • 4 GB RAM
    • Intel Pro/1000 PT dual NIC

    Only a couple packages - acme, apcupsd, open-vpn-client-export, service_watchdog

    My VM hypervisor is Proxmox 6.1-5. The host is a Cisco C220 M3 with dual Xeon E5-2620 v2 CPUs and 64 GB RAM. The NIC is an onboard Cisco GbE port.

    I'm testing from a Ubuntu 19.04 VM with 4 cores and 8 GB RAM. The NIC is a VirtIO (Paravirtualized). The VM is on a shared port, but I evacuated other workloads to a sister server before running tests - so effectively the Linux VM was isolated on the Proxmox node.

    I tried other VM NICs (e.g. Intel E1000, vmxnet3) and the VirtIO had the best performance.

    I've also tried from other hardwired 1 Gbit clients (a Windows 10 laptop and a Mac Mini) and they yielded worse results than the VM.


Log in to reply