Feature #14252
openOptimization for 10GB-Connection/Throughput
0%
Description
Tuning a 10GB Connection, i´ve spent many days to get the most performance out of pfSense.
I´ve found the following commands, which drastically improved the throughput - peak-wise and providing a consistent throughput without dips:
This binds one core/Thread to a queue - i´ve found this is also present in the pSense-documentation, but as a non professional i had to search quite long to find how to set it up - maybe a more concrete example with what it means would be helpful:
net.isr.maxthreads="-1"
net.isr.bindthreads="1"
Allow interrupts on hyperthreaded cores:
machdep.hyperthreading_intr_allowed="1"
These can be added to the loader.conf.local.
Maybe this helps if someone can´t consistent and good 10GB performance.
Would it be possible to extend the pfSense-documentation or even add these options as checkboxes
e.g. under the Tab "Networking" Section "Network Interfaces" - like "Optimize Thread-/Queue usage" and "Make logical cores available for interrupt handling" - both with a litte explanation?
Thanks in advance.
Puni
Updated by Kris Phillips about 1 year ago
Tuning Guide is already present here that contains the first two tuning items:
https://docs.netgate.com/pfsense/en/latest/hardware/tune.html
I'm dubious that adding machdep.hyperthreading_intr_allowed is helping as I don't see how adding interrupts on logical "non-real" cores would help performance, but I'm not an expert in FreeBSD tuning so I'll leave that to one of the developers to chime in about. It's possible it could be added to the guide and we could add a checkbox for options like these in the Advanced section of the webConfigurator.
Updated by Muhammad Waseem Ul Haq about 1 year ago
Kris Phillips wrote in #note-1:
Tuning Guide is already present here that contains the first two tuning items:
https://docs.netgate.com/pfsense/en/latest/hardware/tune.htmlI'm dubious that adding machdep.hyperthreading_intr_allowed is helping as I don't see how adding interrupts on logical "non-real" cores would help performance, but I'm not an expert in FreeBSD tuning so I'll leave that to one of the developers to chime in about. It's possible it could be added to the guide and we could add a checkbox for options like these in the Advanced section of the webConfigurator.
I can confirm it does benifets having these tunables in loader.conf.local. I have them in my setup since two months.
Reference URL: https://wiki.freebsd.org/Networking/10GbE/Router