Project

General

Profile

New Content #11010

Feedback on Hardware — Hardware Tuning and Troubleshooting

Added by Marcos Mendoza about 1 month ago. Updated 12 days 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

History

#1 Updated by Jim Pingle about 1 month ago

  • Category set to Hardware

#2 Updated by Manuel Piovan 29 days 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

#3 Updated by Marcos Mendoza 28 days 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.

Also available in: Atom PDF