Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Abysmal Performance after pfSense hardware upgrade

    Scheduled Pinned Locked Moved General pfSense Questions
    69 Posts 4 Posters 15.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      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.

      1 Reply Last reply Reply Quote 3
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        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.

        G 1 Reply Last reply Reply Quote 0
        • 8
          8ayM @8ayM
          last edited by

          Well I just swapped things back to the ix1 interface and the speeds tanked again
          300ec9b1-588a-41c4-b81d-3c7f04523ed6-image.png

          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            Hmm, interesting. Are those using the same NIC chip? What does pciconf -lv show?

            8 1 Reply Last reply Reply Quote 0
            • G
              Gblenn @stephenw10
              last edited by

              @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?

              1 Reply Last reply Reply Quote 0
              • stephenw10S
                stephenw10 Netgate Administrator
                last edited by

                You will see that if the loading is significant. That's where the loading for moving traffic and filtering appears.

                G 1 Reply Last reply Reply Quote 0
                • G
                  Gblenn @stephenw10
                  last edited by Gblenn

                  @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/

                  9e118538-0d05-4bba-9e0e-9f4758300c64-image.png
                  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...

                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    You will see loading there from either the ix or igc NICs.

                    G 1 Reply Last reply Reply Quote 0
                    • 8
                      8ayM @stephenw10
                      last edited by stephenw10

                      @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:
                      

                      ===

                      8 1 Reply Last reply Reply Quote 0
                      • 8
                        8ayM @8ayM
                        last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • stephenw10S
                          stephenw10 Netgate Administrator
                          last edited by

                          Hmm, should be identical then. Could be a bad PHY/port?

                          1 Reply Last reply Reply Quote 0
                          • G
                            Gblenn @stephenw10
                            last edited by

                            @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).

                            8 S 2 Replies Last reply Reply Quote 0
                            • 8
                              8ayM @Gblenn
                              last edited by

                              @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
                              4ac5f5eb-2c5b-47ec-8a8f-fd21f523fe28-image.png

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                Gblenn @8ayM
                                last edited by Gblenn

                                @8ayM My settings are quite different in that I have not ticked any of the boxes you have marked... So I have all HW offloading enabled but the ALTQ disabled.
                                Of course I'm on a different system altogether, with different CPU and NIC's. But yours is definitely Intel based and should behave well also with those activated.

                                8 1 Reply Last reply Reply Quote 0
                                • stephenw10S
                                  stephenw10 Netgate Administrator
                                  last edited by

                                  The altq setting only affects hn NICs.

                                  What output do you actually see? Suricata will likely be top of the list of you're running it. If you hit q while it's running it leaves the output on the console so you can copy/paste it out.

                                  G 1 Reply Last reply Reply Quote 0
                                  • 8
                                    8ayM @Gblenn
                                    last edited by

                                    64a9abc0-b04c-4485-9496-8aeca8e18349-image.png

                                    Clean install

                                    @Gblenn said in Abysmal Performance after pfSense hardware upgrade:

                                    @8ayM My settings are quite different in that I have not ticked any of the boxes you have marked... So I have all HW offloading enabled but the ALTQ disabled.
                                    Of course I'm on a different system altogether, with different CPU and NIC's. But yours is definitely Intel based and should behave well also with those activated.

                                    I'll give this a shot and see if there is a difference

                                    8 1 Reply Last reply Reply Quote 0
                                    • S
                                      SteveITS Galactic Empire @Gblenn
                                      last edited by

                                      @Gblenn said in Abysmal Performance after pfSense hardware upgrade:

                                      Does HW offloading play a part in this, which I have activated as I'm running Suricata

                                      https://docs.suricata.io/en/suricata-7.0.2/performance/packet-capture.html#offloading
                                      "11.2.3. Offloading

                                      Network cards, drivers and the kernel itself have various techniques to speed up packet handling. Generally these will all have to be disabled.

                                      LRO/GRO lead to merging various smaller packets into big 'super packets'. These will need to be disabled as they break the dsize keyword as well as TCP state tracking.

                                      Checksum offloading can be left enabled on AF_PACKET and PF_RING, but needs to be disabled on PCAP, NETMAP and others."

                                      On pfSense inline mode uses NETMAP, and my notes from long ago said to disable offloading if using legacy due to false positives.

                                      Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                                      When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                                      Upvote 👍 helpful posts!

                                      8 1 Reply Last reply Reply Quote 0
                                      • 8
                                        8ayM @8ayM
                                        last edited by 8ayM

                                        Current Settings after reboot to apply
                                        3d7b103f-f30e-4e87-ad8e-7ca42daf7d53-image.png

                                        And the speed test results
                                        a8eebcbb-d5eb-41ed-8bf1-e803f6295900-image.png
                                        2c5ed710-1981-4180-89a2-70bc3fb9e40f-image.png

                                        Enabled SSH
                                        b5eb7ad5-cd59-439b-914d-3fad54997771-image.png

                                        Ran top -HaSP
                                        https://streamable.com/tjs0r1

                                        1 Reply Last reply Reply Quote 0
                                        • 8
                                          8ayM @SteveITS
                                          last edited by 8ayM

                                          @Gblenn said in Abysmal Performance after pfSense hardware upgrade:

                                          @stephenw10 said in Abysmal Performance after pfSense hardware upgrade:

                                          Does HW offloading play a part in this, which I have activated as I'm running Suricata in legacy mode (Intel X520 NIC).

                                          My previous system had been on a dual sfp+ x520. I have another dual in my Desktop I've been testing with and FreeNAS box


                                          @SteveITS said in Abysmal Performance after pfSense hardware upgrade:

                                          @Gblenn said in Abysmal Performance after pfSense hardware upgrade:

                                          Does HW offloading play a part in this, which I have activated as I'm running Suricata

                                          https://docs.suricata.io/en/suricata-7.0.2/performance/packet-capture.html#offloading
                                          "11.2.3. Offloading

                                          Network cards, drivers and the kernel itself have various techniques to speed up packet handling. Generally these will all have to be disabled.

                                          LRO/GRO lead to merging various smaller packets into big 'super packets'. These will need to be disabled as they break the dsize keyword as well as TCP state tracking.

                                          Checksum offloading can be left enabled on AF_PACKET and PF_RING, but needs to be disabled on PCAP, NETMAP and others."

                                          On pfSense inline mode uses NETMAP, and my notes from long ago said to disable offloading if using legacy due to false positives.

                                          So is your thought/suggestion to check/disable these feature


                                          The clean install's web UI is substantially more responsive than what I've grown accustomed to.

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            SteveITS Galactic Empire @8ayM
                                            last edited by

                                            @8ayM said in Abysmal Performance after pfSense hardware upgrade:

                                            So is your thought/suggestion to check/disable these feature

                                            Yes we check the three "offloading" checkboxes. Those need a restart.

                                            Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                                            When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                                            Upvote 👍 helpful posts!

                                            8 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.