Abysmal Performance after pfSense hardware upgrade
-
I'm not sure if there is a better location for this post, if so tell me and I will close here and post there.
TLDR:
"Upgraded" pfSense box and went from 2Gbps symmetrical to 2Gbps down, ~5Mbpsup. Same config, just edited to reflect new nics.
I've been banging my head on this all day, and I can't for the life of me figure out what is causing the issue.
I just upgraded my pfSense box from a HP T730 Thin Client I'd added a dual 10G x520 card to a Qotom Q20332G9-S10.
With the Qotom I :
- Upgraded BIOS to v11 from v10
- Installed 2x 8GB ddr4
- Installed 2x 256G m.2 NVME SSD in ZFS Mirror
- Installed pfSense CE 2.7.2-RELEASE
Modified the config file to change the WAN interface from ix0 to igc4. ISP hands off via a 2.5G copper, and I was having to use a 10G switch as a media converter from RJ45 to SFP+. LAN was kept to ix1 as it was just simpler to keep as is given vLANs and such associated with is if I were to change.
These are the speed test results from my desktop via 10G.
Although results like this have not been uncommon during troubleshooting
This is the result when I run speedtest from the pfSense Box
I tried removing all the traffic shaping policies, as I thought maybe..., but no luck.Well since I'd basically built the new pfSense next to the old and just swapped the cables from one unit to the other I reverted back to the old system thinking maybe it was an ISP issue, but I was back to roughly 2Gbps symmetrical again.
I just finished preforming a clean install of pfSense on the Qotom and everything was back to the 2G symmetrical connection. I'm not sure where to continue. Just seems incredibly odd that taking the config to the new system causes issues that don't exist on the previous, and a clean install gives as expected results until the config is restored.
I just noticed that I'm getting inbout errors on my lan interface. just ran netstat -i:
Name Mtu Network Address Ipkts Ierrs Idrop Opkts Oerrs Coll igc0* 1500 <Link#1> 20:7c:14:f3:8b:3c 0 0 0 0 0 0 igc1* 1500 <Link#2> 20:7c:14:f3:8b:3d 0 0 0 0 0 0 igc2* 1500 <Link#3> 20:7c:14:f3:8b:3e 0 0 0 0 0 0 igc3* 1500 <Link#4> 20:7c:14:f3:8b:3f 0 0 0 0 0 0 igc4 1500 <Link#5> cc:66:18:f8:c5:80 34464 0 0 22210 0 0 igc4 - fe80::%igc4/64 fe80::ce66:18ff:fef8:c580%igc4 0 - - 0 - - igc4 - 69.53.48.0/20 69-53-57-154.bennvt.fidium.ccidns.net 2815 - - 11 - - ix0* 1500 <Link#6> 20:7c:14:f3:8b:41 0 0 0 0 0 0 ix1 1500 <Link#7> 20:7c:14:f3:8b:42 22003 725 0 37120 0 0 ix1 - fe80::%ix1/64 fe80::227c:14ff:fef3:8b42%ix1 0 - - 1 - - ix1 - 192.168.1.0/24 pfSense-Edge01 2053 - - 5753 - - ix1 - 172.16.1.1/32 172.16.1.1 0 - - 0 - - ix2* 1500 <Link#8> 20:7c:14:f3:8b:43 0 0 0 0 0 0 ix3* 1500 <Link#9> 20:7c:14:f3:8b:44 0 0 0 0 0 0 enc0* 1536 <Link#10> enc0 0 0 0 0 0 0 lo0 16384 <Link#11> lo0 39368 0 0 39368 0 0 lo0 - localhost localhost 731 - - 731 - - lo0 - fe80::%lo0/64 fe80::1%lo0 0 - - 0 - - lo0 - your-net localhost 37725 - - 38637 - - pflog0* 33152 <Link#12> pflog0 0 0 0 896 0 0 pfsync0* 1500 <Link#13> pfsync0 0 0 0 0 0 0 ix1.10 1500 <Link#14> 20:7c:14:f3:8b:42 3 0 0 4 3 0 ix1.10 - fe80::%ix1.10/64 fe80::227c:14ff:fef3:8b42%ix1.10 0 - - 1 - - ix1.10 - 10.99.10.0/24 10.99.10.1 0 - - 0 - - ix1.40 1500 <Link#15> 20:7c:14:f3:8b:42 3 0 0 3 2 0 ix1.40 - fe80::%ix1.40/64 fe80::227c:14ff:fef3:8b42%ix1.40 0 - - 1 - - ix1.50 1500 <Link#16> 20:7c:14:f3:8b:42 3 0 0 5 0 0 ix1.50 - fe80::%ix1.50/64 fe80::227c:14ff:fef3:8b42%ix1.50 0 - - 1 - - ix1.60 1500 <Link#17> 20:7c:14:f3:8b:42 3 0 0 4 1 0 ix1.60 - fe80::%ix1.60/64 fe80::227c:14ff:fef3:8b42%ix1.60 0 - - 1 - - ix1.70 1500 <Link#18> 20:7c:14:f3:8b:42 3 0 0 3 2 0 ix1.70 - fe80::%ix1.70/64 fe80::227c:14ff:fef3:8b42%ix1.70 0 - - 1 - - ix1.70 - 10.99.70.0/24 10.99.70.1 0 - - 0 - - ix1.80 1500 <Link#19> 20:7c:14:f3:8b:42 3 0 0 2 5 0 ix1.80 - fe80::%ix1.80/64 fe80::227c:14ff:fef3:8b42%ix1.80 0 - - 2 - - ix1.80 - 10.99.80.0/24 10.99.80.1 0 - - 0 - - ix1.100 1500 <Link#20> 20:7c:14:f3:8b:42 3 0 0 3 2 0 ix1.100 - fe80::%ix1.100/64 fe80::227c:14ff:fef3:8b42%ix1.100 0 - - 2 - - ix1.150 1500 <Link#21> 20:7c:14:f3:8b:42 14277 0 0 26649 4 0 ix1.150 - fe80::%ix1.150/64 fe80::227c:14ff:fef3:8b42%ix1.150 0 - - 1 - - ix1.150 - 10.99.150.0/24 10.99.150.1 54 - - 49 - - ix1.160 1500 <Link#22> 20:7c:14:f3:8b:42 3 0 0 4 3 0 ix1.160 - fe80::%ix1.160/64 fe80::227c:14ff:fef3:8b42%ix1.160 0 - - 2 - - ix1.160 - 10.99.160.0/24 10.99.160.1 0 - - 0 - - ix1.200 1500 <Link#23> 20:7c:14:f3:8b:42 3 0 0 2 2 0 ix1.200 - fe80::%ix1.200/64 fe80::227c:14ff:fef3:8b42%ix1.200 0 - - 1 - - ix1.201 1500 <Link#24> 20:7c:14:f3:8b:42 3 0 0 2 3 0 ix1.201 - fe80::%ix1.201/64 fe80::227c:14ff:fef3:8b42%ix1.201 0 - - 1 - - ix1.61 1500 <Link#25> 20:7c:14:f3:8b:42 3 0 0 2 3 0 ix1.61 - fe80::%ix1.61/64 fe80::227c:14ff:fef3:8b42%ix1.61 0 - - 1 - - ix1.62 1500 <Link#26> 20:7c:14:f3:8b:42 3 0 0 2 3 0 ix1.62 - fe80::%ix1.62/64 fe80::227c:14ff:fef3:8b42%ix1.62 0 - - 2 - - ix1.404 1500 <Link#27> 20:7c:14:f3:8b:42 0 0 0 2 3 0 ix1.404 - fe80::%ix1.404/64 fe80::227c:14ff:fef3:8b42%ix1.404 0 - - 2 - - ix1.20 1500 <Link#28> 20:7c:14:f3:8b:42 3 0 0 2 3 0 ix1.20 - fe80::%ix1.20/64 fe80::227c:14ff:fef3:8b42%ix1.20 0 - - 1 - - ix1.20 - 10.98.20.0/24 10.98.20.1 0 - - 0 - - ovpns1 1500 <Link#29> ovpns1 0 0 0 3 0 0 ovpns1 - fe80::%ovpns1/64 fe80::227c:14ff:fef3:8b3c%ovpns1 0 - - 1 - - ovpns1 - 10.100.1.0/24 10.100.1.1 972 - - 0 - -
-
A rate that low usually implies some low level issue like a bad cable or bad NIC. Check Status > Interfaces for errors. Make sure WAN and LAN are linked at the expected speed.
-
@stephenw10 Just noticed errors incrementing on LAN interface. I'll have to test this further. These are the same cables that were being used on the previous setup, I'm literally swapping them between the two systems.
The switch on the Lan uplink isn't showing any errors.
MTU match
Speeds are set to 10GI'll try swapping the LAN port, I've just held off as I've found in the past things don't "AutoMagically" get transitioned over perfectly when pfSense handles it. ix1 seems to occur often enough I have to go occurrence by occurrence for the replacement when I change manually.
Starting to wonder if it's the LAN port on the box. Swapped DAC, swapped port on switch. Errors seems to persist.
-
@stephenw10 Not sure why I hadn't had issues with the cables previously on the thin client, but I'd just opened the 4th package of new DAC cables from 10Gtek.
Between that and swapping from ix1 to ix2 things are looking better, still not where I should be.
-
@8ayM Starting from the clean install, which you said works fine on the Quotom HW, how about restoring and testing one piece of the config at a time? Starting with System tunables then System and so on?
My thinking is... you are moving from (if I'm not mistaken) an AMD based system over to Intel. Could there be some HW related settings in your config that is causing issues?
-
Yeah I would probably try a very basic config as a test.
Try running
top -HaSP
while testing. See what the CPU usage looks like. -
@8ayM Jumped back into this this AM was getting similar results from last night as expected. Tried a reboot of the box and upon restart I'm getting better numbers:
Unfortunately I can't seem to get the speedtest cli on pfSense to hit the same server as I'm using via the web interface via desktop. Trying to be consistent and most favorable as I should be staying on my ISP's network while testing "last mile connection"
speedtest-cli --server 19688
@Gblenn There may be other HW specific items between AMD & Intel. Reading your post made me think to follow up with the temp sensor
System -> Advanced -> Miscellaneous -> Cryptographic & Thermal Hardware -> Thermal Sensors
Changed from AMD to Intel. Temp is now right.
Just ran top -HaSP on current config while running a speed test
Video link to output, expires in 2 days:
https://streamable.com/xjfgueI can look to do a clean install but it's looking like I'm in the ball park for speed. I'll have to rotate through cables and see if that makes a difference, and then test if swapping the LAN interface back to ix1 causes the issues to return as I'd need to send this unit back. Not that I need 10 SFP+ ports, but I'd want them all working given it was just purchased.
-
The test from pfSense itself will almost always give a lower result than testing through it. Running the process itself takes significant CPU cycles. pfSense is optmised as a router/firewall and not a server.
-
That video shows ntopng using a lot CPU cycles. The first thing I'd do is restest with it disabled. No single CPU core looks to be pegged at 100% though.
-
Well I just swapped things back to the ix1 interface and the speeds tanked again
-
Hmm, interesting. Are those using the same NIC chip? What does
pciconf -lv
show? -
@stephenw10 said in Abysmal Performance after pfSense hardware upgrade:
That video shows ntopng using a lot CPU cycles. The first thing I'd do is restest with it disabled. No single CPU core looks to be pegged at 100% though.
I just ran a few speedtests, and I don't see any of the "intr{swi1: netisr x}" that show up during your testing. And my interrupt stays flat at 0% throughout... what is that?
-
You will see that if the loading is significant. That's where the loading for moving traffic and filtering appears.
-
@stephenw10 Ok, so in my case the NIC's are doing the work...? I have Suricata showing up at the top of the list instead...
However, I just found this bit from servethehome who tested this a while back https://www.servethehome.com/the-everything-fanless-home-server-firewall-router-and-nas-appliance-qotom-qnap-teamgroup/2/
I guess that doesn't mean it's using the CPU for the SFP+ ports but perhaps it's a driver issue?The 2.5GB ports are i225V according to servethehome...
-
You will see loading there from either the ix or igc NICs.
-
@stephenw10 said in Abysmal Performance after pfSense hardware upgrade:
Hmm, interesting. Are those using the same NIC chip? What does
pciconf -lv
show?Yes should be off the CPU
===
[2.7.2-RELEASE][admin@pfSense-Edge01.scs.lan]/root: pciconf -lv hostb0@pci0:0:0:0: class=0x060000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x1980 subvendor=0x8086 subdevice=0x1999 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series System Agent' class = bridge subclass = HOST-PCI hostb1@pci0:0:4:0: class=0x060000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19a1 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series Error Registers' class = bridge subclass = HOST-PCI none0@pci0:0:5:0: class=0x080700 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19a2 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series Root Complex Event Collector' class = base peripheral subclass = Root Complex Event Collector pcib1@pci0:0:6:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19a3 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series Integrated QAT Root Port' class = bridge subclass = PCI-PCI pcib2@pci0:0:9:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19a4 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI pcib3@pci0:0:10:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19a5 subvendor=0x8086 subdevice=0x19a5 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI pcib4@pci0:0:11:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19a6 subvendor=0x8086 subdevice=0x19a6 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI pcib5@pci0:0:12:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19a7 subvendor=0x8086 subdevice=0x19a7 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI pcib6@pci0:0:14:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19a8 subvendor=0x8086 subdevice=0x19a8 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI pcib7@pci0:0:15:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19a9 subvendor=0x8086 subdevice=0x19a9 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI pcib8@pci0:0:16:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19aa subvendor=0x8086 subdevice=0x19aa vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI pcib9@pci0:0:17:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19ab subvendor=0x8086 subdevice=0x19ab vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series PCI Express Root Port' class = bridge subclass = PCI-PCI none1@pci0:0:18:0: class=0x088000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19ac subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series SMBus Contoller - Host' class = base peripheral ahci0@pci0:0:19:0: class=0x010601 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19b2 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series SATA Controller 0' class = mass storage subclass = SATA ahci1@pci0:0:20:0: class=0x010601 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19c2 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series SATA Controller 1' class = mass storage subclass = SATA xhci0@pci0:0:21:0: class=0x0c0330 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19d0 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series USB 3.0 xHCI Controller' class = serial bus subclass = USB pcib11@pci0:0:22:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19d1 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series Integrated LAN Root Port' class = bridge subclass = PCI-PCI pcib12@pci0:0:23:0: class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x19d2 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series Integrated LAN Root Port' class = bridge subclass = PCI-PCI none2@pci0:0:24:0: class=0x078000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19d3 subvendor=0x8086 subdevice=0x19d3 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series ME HECI 1' class = simple comms uart2@pci0:0:26:0: class=0x070002 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19d8 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series HSUART Controller' class = simple comms subclass = UART isab0@pci0:0:31:0: class=0x060100 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19dc subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series LPC or eSPI' class = bridge subclass = PCI-ISA none3@pci0:0:31:2: class=0x058000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19de subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series Power Management Controller' class = memory ichsmb0@pci0:0:31:4: class=0x0c0500 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19df subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series SMBus controller' class = serial bus subclass = SMBus none4@pci0:0:31:5: class=0x0c8000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19e0 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series SPI Controller' class = serial bus none5@pci0:1:0:0: class=0x0b4000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x19e2 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Atom Processor C3000 Series QuickAssist Technology' class = processor nvme0@pci0:3:0:0: class=0x010802 rev=0x03 hdr=0x00 vendor=0x8086 device=0x0975 subvendor=0x8086 subdevice=0x8410 vendor = 'Intel Corporation' class = mass storage subclass = NVM igc0@pci0:4:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-V' class = network subclass = ethernet igc1@pci0:5:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-V' class = network subclass = ethernet igc2@pci0:6:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-V' class = network subclass = ethernet igc3@pci0:7:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-V' class = network subclass = ethernet igc4@pci0:8:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-V' class = network subclass = ethernet pcib10@pci0:9:0:0: class=0x060400 rev=0x03 hdr=0x01 vendor=0x1a03 device=0x1150 subvendor=0x1a03 subdevice=0x1150 vendor = 'ASPEED Technology, Inc.' device = 'AST1150 PCI-to-PCI Bridge' class = bridge subclass = PCI-PCI vgapci0@pci0:10:0:0: class=0x030000 rev=0x30 hdr=0x00 vendor=0x1a03 device=0x2000 subvendor=0x1a03 subdevice=0x2000 vendor = 'ASPEED Technology, Inc.' device = 'ASPEED Graphics Family' class = display subclass = VGA ix0@pci0:11:0:0: class=0x020000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x15c4 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Connection X553 10 GbE SFP+' class = network subclass = ethernet ix1@pci0:11:0:1: class=0x020000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x15c4 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Connection X553 10 GbE SFP+' class = network subclass = ethernet ix2@pci0:12:0:0: class=0x020000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x15c4 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Connection X553 10 GbE SFP+' class = network subclass = ethernet ix3@pci0:12:0:1: class=0x020000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x15c4 subvendor=0x8086 subdevice=0x0000 vendor = 'Intel Corporation' device = 'Ethernet Connection X553 10 GbE SFP+' class = network subclass = ethernet [2.7.2-RELEASE][admin@pfSense-Edge01.scs.lan]/root:
===
-
I'm just going to grab another m.2 and do a clean install of 2.7.2
Only config I'll be making would be assigning a MAC address to the Wan interface as the ISP locks the router MAC to their OTN handoff.
I'll be in the dark again while I get this setup.
-
Hmm, should be identical then. Could be a bad PHY/port?
-
@stephenw10 said in Abysmal Performance after pfSense hardware upgrade:
You will see loading there from either the ix or igc NICs.
What could be the reason I'm not seeing any of the intr{swi1: netisr x} when I run the same test? I am getting around 7-8Gbit both directions. For me it's Suricata taking over during the down and upload runs.
Does HW offloading play a part in this, which I have activated as I'm running Suricata in legacy mode (Intel X520 NIC).
-
@Gblenn said in Abysmal Performance after pfSense hardware upgrade:
@stephenw10 said in Abysmal Performance after pfSense hardware upgrade:
You will see loading there from either the ix or igc NICs.
What could be the reason I'm not seeing any of the intr{swi1: netisr x} when I run the same test? I am getting around 7-8Gbit both directions. For me it's Suricata taking over during the down and upload runs.
Does HW offloading play a part in this, which I have activated as I'm running Suricata in legacy mode (Intel X520 NIC).
This is the hardware offloading options I have selected