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

    Netgate 1537 cannot achieve 10G throughput

    Scheduled Pinned Locked Moved Official Netgate® Hardware
    6 Posts 4 Posters 430 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.
    • D
      darnoldvcs
      last edited by darnoldvcs

      Hello Netgate Community,

      Our organization has purchased an Netgate 1537 and during recent testing in preparation for a 10G Internet installation we noticed that it would not achieve greater than 4G Firewall/VLAN throughput with iPerf3 either into/out of same LAN/VLAN 10G/SFP+ interface (router on a stick) or across WAN & LAN 10G/SFP+ interfaces. I have even tested added a third SPF+ interface with exactly the same results.

      Test Details:

      • iPerf3 Client on VLAN 10.40.1.200
      • iPerf3 Server on VLAN 10.5.0.6
      • iPerf3 Client command: iperf3 -t 300 -c 10.5.0.6
      • Client & Server can achieve 10G when on same VLAN/subnet
      • top command output: see below
      • iperf output: see below

      pfSense Details:

      • Netgate 1537 32Gb pfSense Plus 23.09.1
      • Kernel PTI: Disabled
      • MDS Mitigation: Inactive
      • net.inet.ip.intr_queue_maxlen: 4096 (System Tunables)
      • kern.ipc.nmbclusters="1000000" (loader.conf.local)
      • kern.ipc.nmbjumbop="524288" (loader.conf.local)
      • No ALTQ
      • Limiters enabled, but not on Test VLANs
      • Captive portals enable, but not on Test VLANs
      • pfBlockerNG; DNSBL only

      It is possible to achieve 10G, however I have it use 5 threads (-P 5) in the iperf client which is highly, especially when the 1537 is rated for 18.62 Gbps.

      Could someone please advise what further investigations I could perform? Thank you!

      Connecting to host pbs01, port 5201
      [  5] local 10.40.1.200 port 40438 connected to 10.5.0.6 port 5201
      [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
      [  5]   0.00-1.00   sec   483 MBytes  4.05 Gbits/sec  1342   3.23 MBytes
      [  5]   1.00-2.00   sec   455 MBytes  3.82 Gbits/sec    0   3.38 MBytes
      [  5]   2.00-3.00   sec   452 MBytes  3.80 Gbits/sec    0   3.50 MBytes
      [  5]   3.00-4.00   sec   454 MBytes  3.81 Gbits/sec    0   3.60 MBytes
      [  5]   4.00-5.00   sec   456 MBytes  3.83 Gbits/sec    0   3.66 MBytes
      [  5]   5.00-6.00   sec   455 MBytes  3.82 Gbits/sec    0   3.71 MBytes
      [  5]   6.00-7.00   sec   455 MBytes  3.82 Gbits/sec    0   3.75 MBytes
      [  5]   7.00-8.00   sec   456 MBytes  3.83 Gbits/sec    0   3.84 MBytes
      [  5]   8.00-9.00   sec   455 MBytes  3.82 Gbits/sec    0   3.93 MBytes
      [  5]   9.00-10.00  sec   455 MBytes  3.82 Gbits/sec    0   4.01 MBytes
      - - - - - - - - - - - - - - - - - - - - - - - - -
      [ ID] Interval           Transfer     Bitrate         Retr
      [  5]   0.00-10.00  sec  4.47 GBytes  3.84 Gbits/sec  1342             sender
      [  5]   0.00-10.00  sec  4.44 GBytes  3.82 Gbits/sec                  receiver
      
      iperf Done.
      
      last pid: 42821;  load averages:  0.76,  0.48,  0.42
      754 threads:   18 running, 695 sleeping, 41 waiting
      CPU:  0.1% user,  0.0% nice,  2.4% system,  6.3% interrupt, 91.2% idle
      Mem: 142M Active, 2045M Inact, 1308M Wired, 56K Buf, 28G Free
      ARC: 302M Total, 35M MFU, 255M MRU, 315K Anon, 1714K Header, 9817K Other
           224M Compressed, 764M Uncompressed, 3.42:1 Ratio
      Swap: 1024M Total, 1024M Free
      
        PID USERNAME    PRI NICE   SIZE    RES STATE    C   TIME    WCPU COMMAND
         11 root        187 ki31     0B   256K CPU11   11 213.0H 100.00% [idle{idle: cpu11}]
         11 root        187 ki31     0B   256K CPU7     7 212.3H 100.00% [idle{idle: cpu7}]
         11 root        187 ki31     0B   256K CPU13   13 212.3H 100.00% [idle{idle: cpu13}]
         11 root        187 ki31     0B   256K RUN      8 208.6H 100.00% [idle{idle: cpu8}]
         12 root        -56    -     0B   416K CPU12   12  55:13 100.00% [intr{swi1: netisr 3}]
         11 root        187 ki31     0B   256K CPU9     9 214.5H  99.42% [idle{idle: cpu9}]
         11 root        187 ki31     0B   256K CPU3     3 212.6H  99.33% [idle{idle: cpu3}]
         11 root        187 ki31     0B   256K CPU10   10 212.9H  99.31% [idle{idle: cpu10}]
         11 root        187 ki31     0B   256K CPU4     4 213.4H  99.08% [idle{idle: cpu4}]
         11 root        187 ki31     0B   256K CPU14   14 213.7H  99.01% [idle{idle: cpu14}]
         11 root        187 ki31     0B   256K CPU2     2 212.8H  98.93% [idle{idle: cpu2}]
         11 root        187 ki31     0B   256K CPU5     5 213.4H  98.92% [idle{idle: cpu5}]
         11 root        187 ki31     0B   256K CPU15   15 212.6H  98.76% [idle{idle: cpu15}]
         11 root        187 ki31     0B   256K CPU1     1 214.7H  96.97% [idle{idle: cpu1}]
         11 root        187 ki31     0B   256K CPU0     0 208.6H  89.68% [idle{idle: cpu0}]
         11 root        187 ki31     0B   256K RUN      6 212.7H  64.26% [idle{idle: cpu6}]
          0 root        -60    -     0B  3424K -        6  43:23  35.60% [kernel{if_io_tqg_6}]
          0 root        -60    -     0B  3424K -        0 125:04   9.77% [kernel{if_io_tqg_0}]
         12 root        -60    -     0B   416K WAIT    14 205:32   0.88% [intr{swi1: netisr 2}]
      18880 unbound      20    0  1985M  1785M kqread   8  65:38   0.54% /usr/local/sbin/unbound -c /var/unbound/unbound.conf{unbound}
         12 root        -60    -     0B   416K WAIT     9 142:10   0.53% [intr{swi1: netisr 13}]
          0 root        -64    -     0B  3424K -        3 358:44   0.51% [kernel{dummynet}]
      46954 root         21    0   112M    49M accept   9   0:11   0.50% php-fpm: pool nginx (php-fpm)
          0 root        -60    -     0B  3424K -        4 115:56   0.42% [kernel{if_io_tqg_4}]
         12 root        -60    -     0B   416K WAIT     8 113:39   0.37% [intr{swi1: netisr 8}]
      18880 unbound      20    0  1985M  1785M kqread  13  56:38   0.34% /usr/local/sbin/unbound -c /var/unbound/unbound.conf{unbound}
      18880 unbound      20    0  1985M  1785M kqread  14  66:22   0.34% /usr/local/sbin/unbound -c /var/unbound/unbound.conf{unbound}
          0 root        -60    -     0B  3424K -       10 100:59   0.30% [kernel{if_io_tqg_10}]
      18880 unbound      20    0  1985M  1785M kqread  15  40:43   0.30% /usr/local/sbin/unbound -c /var/unbound/unbound.conf{unbound}
       2830 root         21    0   112M    49M accept  10   0:18   0.25% php-fpm: pool nginx (php-fpm)
          0 root        -60    -     0B  3424K -        0   0:01   0.22% [kernel{softirq_0}]
          7 root        -16    -     0B    16K pftm     2  24:31   0.15% [pf purge]
      18880 unbound      20    0  1985M  1785M kqread   1  30:44   0.12% /usr/local/sbin/unbound -c /var/unbound/unbound.conf{unbound}
      65112 root         20    0    17M  5304K CPU8     8   0:00   0.12% top -aSH
      18880 unbound      20    0  1985M  1785M kqread   3  58:03   0.10% /usr/local/sbin/unbound -c /var/unbound/unbound.conf{unbound}
      18880 unbound      20    0  1985M  1785M kqread   7  45:37   0.10% /usr/local/sbin/unbound -c /var/unbound/unbound.conf{unbound}
      
      keyserK Dobby_D johnpozJ 3 Replies Last reply Reply Quote 0
      • keyserK
        keyser Rebel Alliance @darnoldvcs
        last edited by

        @darnoldvcs The 1537 will not do single stream/session 10Gbe throughput. I don’t actually think there is any netgate device that will do that.
        It would need about 4 streams to achieve that kind of throughput, and any inspection packages like snort/suricata will make it impossible to reach sustained 10Gbe.

        Love the no fuss of using the official appliances :-)

        1 Reply Last reply Reply Quote 0
        • Dobby_D
          Dobby_ @darnoldvcs
          last edited by

          @darnoldvcs

          In normal usage you may be able to see often 2 GBit/s - 4 Gbit/s
          ordinary throughput, you may be able to get 4 GBit/s - 7 GBit/s
          under heavy load and testing with iperf you will be able to see
          also something reaching 9.2/9.4/9.6 GBit/s.

          • It is based on the art of the traffic
          • It is based on the receiving device (CPU&RAM&SSD)
          • It is base on the cables and the length to the end point
          • It is often based on the switches there are in game!!!
            The used chips I mean here

          #~. @Dobby

          Turris Omnia - 4 Ports - 2 GB RAM / TurrisOS 7 Release (Btrfs)
          PC Engines APU4D4 - 4 Ports - 4 GB RAM / pfSense CE 2.7.2 Release (ZFS)
          PC Engines APU6B4 - 4 Ports - 4 GB RAM / pfSense+ (Plus) 24.03_1 Release (ZFS)

          1 Reply Last reply Reply Quote 0
          • johnpozJ
            johnpoz LAYER 8 Global Moderator @darnoldvcs
            last edited by

            @darnoldvcs what iperf version were you using the latest 3.16 added multithreading support.. Before tests were limited to single thread.

            Well yes the specs list like 18Ge, where on those specs does it say for 1 session from 1 client?

            The thing has only 10ge ports.. So clearly if lists more than 10 ge in routing is via multiple interfaces at the same time, and more then 1 client using 1 connection, etc.

            Also while testing, I would make when testing to vlans your not hairpinning the connection..

            If you can get 10ge with parallel connections then clearly the box can route at 10ge, etc.

            An intelligent man is sometimes forced to be drunk to spend time with his fools
            If you get confused: Listen to the Music Play
            Please don't Chat/PM me for help, unless mod related
            SG-4860 24.11 | Lab VMs 2.8, 24.11

            1 Reply Last reply Reply Quote 0
            • D
              darnoldvcs
              last edited by

              @keyser, @Dobby_ & @johnpoz Thank you for your input.

              I was hoping it could achieve 10G single threaded and perhaps there was a configuration issue. Our team built out a test pfSense from PC spare parts; an old Intel Gen 9 i7 and was able to saturate 10G, cross vlan, single threaded, configured with a single LAN NIC (router on a stick). I guess that processor has more grunt that the Xeon D 1537.

              I can achieve 10G with 5 threads on the 1537, and I appreciate I would need more interfaces to achieve the marketing numbers of 18+GB.

              Again thank you for your input and guidance.

              Dobby_D 1 Reply Last reply Reply Quote 0
              • Dobby_D
                Dobby_ @darnoldvcs
                last edited by

                @darnoldvcs said in Netgate 1537 cannot achieve 10G throughput:

                I guess that processor has more grunt that the Xeon D 1537.

                They should be hard enough for the 10 GBit/s also Supermicro is
                selling devices with such SOC´s and soldering 4 * 10 GBit/s port
                on it.

                I can achieve 10G with 5 threads on the 1537, and I appreciate I would need more interfaces to achieve the marketing numbers of 18+GB.

                The 18+GB would in my eyes the plain routing power! Please don´t mismatch
                with firewall rules on top or vpn traffic.

                #~. @Dobby

                Turris Omnia - 4 Ports - 2 GB RAM / TurrisOS 7 Release (Btrfs)
                PC Engines APU4D4 - 4 Ports - 4 GB RAM / pfSense CE 2.7.2 Release (ZFS)
                PC Engines APU6B4 - 4 Ports - 4 GB RAM / pfSense+ (Plus) 24.03_1 Release (ZFS)

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