Slow download speeds when using pfSense
-
I'm running pfSense on a Shuttle with the following specs:
CPU Type Intel(R) Atom(TM) CPU D2550 @ 1.86GHz
4 CPUs: 1 package(s) x 2 core(s) x 2 hardware threads
AES-NI CPU Crypto: NoI was able to get speeds of 100+ but I'm not sure what or when it changed.
I'm now getting 45 down and 11 up.
Connecting directly to my cable modem (bypassing pfSense) I get 185 down and 12 up.I'm connecting to the shuttle with USB gigabit adapters.
I've tested each adapter directly to my laptop to the cable modem. I've also tested each cable. In all scenarios, the speed was about the same.When I re-introduce the Shuttle running pfSense into the mix, my speed drops back down to 45 down and 11 up.
How can I determine if a package or rule is slowing my connection?
thanks
-
That CPU should be good for >500Mbps in a speedtest so I would expect it to have no problems with 185Mbps.
The prime suspect there is the USB NICs. USB NICs can be incredibly unreliable in FreeBSD/pfSense.
Check the Status > Interfaces page for errors.
Try testing directly from pfSense to see if it's the WAN or LAN side that's causing the issue.
Is there no way to avoid using USB NICs?
Steve
-
@stephenw10 said in Slow download speeds when using pfSense:
That CPU should be good for >500Mbps in a speedtest so I would expect it to have no problems with 185Mbps.
The prime suspect there is the USB NICs. USB NICs can be incredibly unreliable in FreeBSD/pfSense.
Check the Status > Interfaces page for errors.
Try testing directly from pfSense to see if it's the WAN or LAN side that's causing the issue.
Is there no way to avoid using USB NICs?
Steve
It's a Shuttle XS36V.
It only has 1 port although it is a gigabit port.How do I test directly from pfSense? I didn't see a speedtest option.
thanks
-
There is a CLI speedtest package you can install and run like so:
[2.4.3-RELEASE][admin@7100.stevew.lan]/root: pkg install py27-speedtest-cli Updating pfSense-core repository catalogue... pfSense-core repository is up to date. Updating pfSense repository catalogue... pfSense repository is up to date. All repositories are up to date. The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: py27-speedtest-cli: 1.0.7 [pfSense] Number of packages to be installed: 1 30 KiB to be downloaded. Proceed with this action? [y/N]: y [1/1] Fetching py27-speedtest-cli-1.0.7.txz: 100% 30 KiB 30.6kB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Installing py27-speedtest-cli-1.0.7... Extracting py27-speedtest-cli-1.0.7: 100% [2.4.3-RELEASE][admin@7100.stevew.lan]/root: rehash [2.4.3-RELEASE][admin@7100.stevew.lan]/root: speedtest-cli Retrieving speedtest.net configuration... Testing from Plusnet (224.85.18.79)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by Freethought Internet (London) [8.99 km]: 11.883 ms Testing download speed................................................................................ Download: 67.88 Mbit/s Testing upload speed................................................................................................ Upload: 18.75 Mbit/s
It's not that great at high speeds but should be fine here.
Steve
-
It looks like the use of 2 USB dongles was the issue.
speedtest-cli showed the following from the Shuttle.
Download: 81.77 Mbits/s
Upload: 12.20 Mbit/sI replaced it with another machine with 2 NICs and am now getting my full 185 down and 12 up.
The speed drop happened when I temporarily moved the Shuttle to another location.
At that time, I also upgraded to 2.4.3 and replaced the onboard NIC with a 2nd USB dongle. The onboard NIC was acting weird with 2.4.3
I thought the speed drop happened due to a combination of the temporary location having a splitter on the coax to the cable modem and my speed tests were running on a machine that was connected via wifi.Because of the above, I didn't think twice about it.
Maybe the onboard NIC is actually dead or not supported by 2.4.3?
The replacement machine is working fine.
thanks for pointing me to speedtest-cli
-
What is the on-board NIC? What driver? How was it acting weird?
Avoiding USB NICs if at all possible it definitely recommended!
Steve
-
ETHERNET JMC251
Supports 10/100/1000 Mb/Sec.
802.11b/g/n WLAN supportWith 2.3.x, it would seemingly die at random. Shutting down and starting the NIC back up again, would sometimes bring it to life. Sometimes it would require a reboot.
I added the USB dongle but didn't check the speed until after I upgraded so I don't when when it actually slowed down.During this troubleshooting, I tried to use the built in NIC. It showed up but simply had the circle and red X. It didn't receive an IP from the cable modem.
-
Yeah, at their best USB NICs require more CPU than PCIe NICs, and a D2550 doesn't have much to spare. Also, most USB2 NICs are 100Mbps--you usually need a more recent USB3 NIC to get to 1000Mbps (or 185Mbps). You may also want to check that the USB NICs are on separate buses (the ports are usually in pairs per bus).