Project

General

Profile

Actions

Feature #14252

open

Optimization for 10GB-Connection/Throughput

Added by Dieter Kreuz about 1 year ago. Updated 5 months ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
Hardware / Drivers
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Release Notes:
Default

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

Actions #1

Updated by Kris Phillips 5 months 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.

Actions #2

Updated by Muhammad Waseem Ul Haq 5 months 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.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.

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

Actions

Also available in: Atom PDF