Project

General

Profile

Actions

New Content #11010

closed

Feedback on Hardware — Hardware Tuning and Troubleshooting

Added by Marcos M over 3 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Hardware
Target version:
-
Start date:
10/28/2020
Due date:
% Done:

0%

Estimated time:

Description

Page: https://docs.netgate.com/pfsense/en/latest/hardware/tune.html

Feedback:
Multi-queue allows network performance to scale with the number of vCPUs and allows for parallel packet processing by creating multiple TX and RX queues. It would be nice to add some information about these tunables when on ESXi using vmx.

For example, on an 8 vCPU VM:

Edit/create the following file
/boot/loader.conf.lcoal

Add the following content
hw.pci.honor_msi_blacklist=0
hw.vmx.txnqueue=8
hw.vmx.rxnqueue=8
hw.vmx.txndesc=2048
hw.vmx.rxndesc=2048

Reboot firewall and check queues
vmstat -i

Actions #1

Updated by Jim Pingle over 3 years ago

  • Category set to Hardware
Actions #2

Updated by Manuel Piovan over 3 years ago

not working for me, 2.5.0, maybe they are valid for 2.4.5 but I can't test on it.
if it's only for 2.4.5 it will become old as soon as 2.5.0 is released

sysctl: unknown oid 'hw.vmx.txnqueue'

I think the new oid, following your example, are

dev.vmx.0.iflib.override_ntxds=2048,2048
dev.vmx.0.iflib.override_nrxds=2048,2048
dev.vmx.0.iflib.override_ntxqs=8
dev.vmx.0.iflib.override_nrxqs=8

[2.5.0-DEVELOPMENT][root@pfSense.kiokoman.home]/boot: sysctl -a | grep override
dev.vmx.0.iflib.override_nrxds: 0,0,0
dev.vmx.0.iflib.override_ntxds: 0,0
dev.vmx.0.iflib.override_qs_enable: 0
dev.vmx.0.iflib.override_nrxqs: 0
dev.vmx.0.iflib.override_ntxqs: 0
Actions #3

Updated by Marcos M over 3 years ago

I will check on 2.5. Though reading this:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237166

If it has changed, the new values should be:
dev.vmx.0.iflib.override_ntxds="0,2048"
dev.vmx.0.iflib.override_nrxds="0,2048,0"

Edit: I tested on pfSense 2.5/ESXi 6.7 with the following in /boot/loader.conf.local
hw.pci.honor_msi_blacklist="0"
hw.vmx.txnqueue="4"
hw.vmx.rxnqueue="4"
hw.vmx.txndesc="4096"
hw.vmx.rxndesc="2048"
net.link.ifqmaxlen="8192"

I was able to see multiple queues. I don't believe these are supposed to show up in sysctl.

Actions

Also available in: Atom PDF