Problem with Slow Speeds
-
Suggest you read http://forum.pfsense.org/index.php/topic,22855.0.html and http://forum.pfsense.org/index.php/topic,23811.0.html
You could try some pings between the client and pfSense and the client and server to see how the round trip time changes with the increased number of hops.
-
Thanks! I tried the tips in the post but everything looks normal.
I did some research on the onboard gigabit ports and they share a 4x PCIe link.
Any opinions on what else it may be?
-
What differences did you observe in ping times?
-
Here is an idea, I'm not sure if it is valid though. Your bottleneck could be your CPU still. I don't know if pfSense/FreeBSD will make a connection multi-threaded on your CPU. If it won't then when you are seeing 50% usage it's because one core is being maxed out and that's all the single thread can do. Just an idea though.
-
At the moment, pf is not multi-threaded, so the firewall process itself doesn't scale across cores. (But other system processes like the GUI and services do)
There is work being done to alleviate this limitation, but it's not a simple problem and probably won't happen anytime soon.
-
Here is an idea, I'm not sure if it is valid though. Your bottleneck could be your CPU still. I don't know if pfSense/FreeBSD will make a connection multi-threaded on your CPU. If it won't then when you are seeing 50% usage it's because one core is being maxed out and that's all the single thread can do. Just an idea though.
It would be worth taking some snapshots of the output of the shell command top -S or watching the RRD graph to see if you are maxing out a CPU.
-
What differences did you observe in ping times?
My ping times are:
Connected to switch:
Avg= .301 ms
min=.270
max=.420pfbox:
WAN->LAN
Avg=.651 ms
min=.513
max=.869 -
Here is an idea, I'm not sure if it is valid though. Your bottleneck could be your CPU still. I don't know if pfSense/FreeBSD will make a connection multi-threaded on your CPU. If it won't then when you are seeing 50% usage it's because one core is being maxed out and that's all the single thread can do. Just an idea though.
It would be worth taking some snapshots of the output of the shell command top -S or watching the RRD graph to see if you are maxing out a CPU.
That's it!
top -S shows one CPU has idle time of 5% during the transfer, while the other had 95% idle time.
So apparently I am maxing out a single core.
Thanks for the help everyone!!!
-
What processes are the top CPU consumers shown by top -S?
-
What processes are the top CPU consumers shown by top -S?
top -SH is better. It will show both system and kernel threads.