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

Slow upload speed [SOLVED]

Scheduled Pinned Locked Moved General pfSense Questions
17 Posts 7 Posters 14.6k 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.
  • J
    joda
    last edited by May 14, 2015, 11:19 AM Apr 12, 2015, 7:50 PM

    Hi,

    I'm testing out pfsense 2.2.1 on my fit-pc2i (dual core atom and dual realtek GB-nic).

    I'm on a 100Mbit line, but when I run the speed test (from a client behind the pfsense) I only reach 22-25Mbit upload.
    The download speed maxes out at 100Mbit, so everything fine there.
    With linux+iptables I max out at 100Mbit up and down, so the hardware is up for it.

    Is NAT taking that big a hit on the upload performance?

    The install is pretty vanilla, just regular NAT on outgoing traffic.
    Load seem to land at 0.4 - 0.5 when doing the speed tests.

    I've tried toggling (and rebooting)

    • Hardware Checksum Offloading
    • Hardware TCP Segmentation Offloading
    • Hardware Large Receive Offloading

    without any difference in performance.

    Any help appreciated!

    J 1 Reply Last reply Nov 16, 2020, 4:45 PM Reply Quote 0
    • H
      heper
      last edited by Apr 12, 2015, 8:06 PM

      nat shouldn't make much of a difference between up or downstream traffic. so its probably something else.

      anything useful in logs?
      rrd graphs with lots of packetloss?

      how does status–>interfaces-->wan look ? in/out errors  or "media" not at  1000baseT <full-duplex>(or whatever it should be in your situation)
      slow upload speed could also be related to a duplex mismatch (could be bad cable, or bad driver or whatever reason the autonegotiate is failing).</full-duplex>

      1 Reply Last reply Reply Quote 0
      • J
        joda
        last edited by Apr 14, 2015, 4:27 PM

        Thanks for the reply!

        Both interfaces running at 1000baseT <full-duplex>No collisions or errors on the interfaces.

        The RRD graphs for quality shows only a packetloss a few days ago, so nothing really.

        I'm using the same cabling (and hardware) for testing with previous software(s).

        Anything else worth investigating?</full-duplex>

        1 Reply Last reply Reply Quote 0
        • J
          joda
          last edited by Apr 23, 2015, 8:24 PM

          Some more testing done.

          Replaced the fit-pc2i with an Intense PC2(i5, 8GB ram etc) and it pushes 100/100Mbit with pfsense 2.2.2.
          Same cabling, same switches, same ports and so on.

          Back on the fit-pc2i:
          Tried toggling hyperthreading on/off without any noticable difference.
          I even borrowed another fit-pc2i set it up with stock pfsense 2.2.2 and gets exactly the same throughput, 100Mbit down and 20-25 upstream.

          Anyone else with fit-pc2i that have any performance numbers for comparison?

          Next step is to try 2.1.5 to see if there's any difference.

          Anything else I should look for?

          1 Reply Last reply Reply Quote 0
          • H
            Harvy66
            last edited by Apr 23, 2015, 8:57 PM

            Have you looked under System Activity to see what the load is like and what's causing the load? Many times low performance is because something is consume a lot of CPU, but not all of the time.

            1 Reply Last reply Reply Quote 0
            • A
              almabes
              last edited by Apr 24, 2015, 2:22 AM

              Enable powerd and set it for maximum or hiadaptive.
              See if that helps.  Maybe your CPU isn't ramping up the MHz as the load increases.  I know it is an issue on the netgate rangely platforms.

              YMMV

              1 Reply Last reply Reply Quote 0
              • J
                joda
                last edited by Apr 27, 2015, 3:37 PM

                Hi,

                Some more testing.

                Have turned on PowerD and set it to maximum.

                Here's a dump from System Activity in the middle of a running speedtest

                last pid: 15237;  load averages:  0.30,  0.18,  0.10  up 3+19:26:50    17:29:22
                106 processes: 3 running, 83 sleeping, 19 waiting, 1 lock

                Mem: 10M Active, 49M Inact, 48M Wired, 50M Buf, 857M Free
                Swap: 2048M Total, 2048M Free

                PID USERNAME PRI NICE  SIZE    RES STATE    TIME    WCPU COMMAND
                  11 root    155 ki31    0K    8K RUN    87.3H  58.59% [idle]
                  12 root    -92    -    0K  152K WAIT    15:34  26.66% [intr{irq256: re0}]
                  12 root    -92    -    0K  152K WAIT    10:35  14.06% [intr{irq257: re1}]

                Not really that high load, 0,30 - 0,40.
                Is the amount of interrupts on the NICs normal when speedtesting?

                1 Reply Last reply Reply Quote 0
                • H
                  heper
                  last edited by Apr 27, 2015, 9:23 PM

                  normal? not really … but realtek nics are famous for being horrible. (specially with freebsd)

                  you could attempt to enable 'device polling'  (system-->advanced-->networking). it's intended to stop/greatly reduce interrupts.

                  DISCLAIMER:
                  i have no idea if your nic is supported, so it could possibly go wrong and unable to access anything anymore.
                  enablling device polling is generally not recommanded in any normal situation, but who knows....

                  1 Reply Last reply Reply Quote 0
                  • H
                    Harvy66
                    last edited by Apr 28, 2015, 2:01 PM

                    50% interrupt usage at 25Mb/s is really bad. My Intel NIC hangs around 5% at 1Gb.

                    1 Reply Last reply Reply Quote 0
                    • J
                      joda
                      last edited by Apr 28, 2015, 7:00 PM

                      It didn't support polling so it kinda got stuck when I enabled it.

                      @harvy66: What boggles me is that I get 100Mbit downstream without any issues, but only 25 up. As if the amount of interrupts would differ(?)

                      1 Reply Last reply Reply Quote 0
                      • H
                        Harvy66
                        last edited by Apr 28, 2015, 9:38 PM

                        Ahh yeah, missed that part. The only guess I can come up with is either the drivers are written that way or there is an interaction between the drivers and how FreeBSD handles moving data. I see no difference in interrupts for uploading or download, except if you include traffic shaping.

                        1 Reply Last reply Reply Quote 0
                        • J
                          joda
                          last edited by May 14, 2015, 11:24 AM

                          After alot of desperate attempts, some of them being less scientific than others, I tried putting a 100Mbit switch between the WAN interface and the ISP termination. Turns out I'm now able to do 100/100.

                          I remove the switch and force the WAN interface to 100Mbit full-duplex (instead of the auto-neg 1Gbit), now 100/100 up/down works like a charm.
                          Interrupts on the NICs are down to just below 20%.

                          I guess this is another case of Realtek hardware/drivers. However the Linux kernel driver seems to be addressing this better.

                          Thanks for all the help and replys on the way!

                          M 1 Reply Last reply Feb 22, 2023, 7:30 PM Reply Quote 1
                          • M
                            mbmondor
                            last edited by Nov 16, 2020, 2:17 PM

                            drivers. set it up to vmx and all works fine :)

                            1 Reply Last reply Reply Quote 0
                            • J
                              JKnott @joda
                              last edited by Nov 16, 2020, 4:45 PM

                              @joda

                              Are you using WiFi? That will always provide poorer performance. For example, my connection is 500/20 Mb. When connected via Ethernet, I generally get 550 - 560 Mb down. On 802.11n WiFi, I get about 30 - 40 down. The Ethernet port for my WiFi AP is 100 Mb.

                              PfSense running on Qotom mini PC
                              i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                              UniFi AC-Lite access point

                              I haven't lost my mind. It's around here...somewhere...

                              M 1 Reply Last reply Nov 16, 2020, 4:57 PM Reply Quote 0
                              • M
                                mbmondor @JKnott
                                last edited by Nov 16, 2020, 4:57 PM

                                @JKnott it was drivers, i am using proxmox and the native network driver gave no upload speed lol. i am in full throttle on my 5ghz :) wifi and hard wired also :)

                                J 1 Reply Last reply Nov 16, 2020, 5:32 PM Reply Quote 0
                                • J
                                  JKnott @mbmondor
                                  last edited by Nov 16, 2020, 5:32 PM

                                  @mbmondor

                                  I just tried speedtest again and here's the result. I have seen a bit better. So, pfsense can definitely handle that sort of performance.

                                  PfSense running on Qotom mini PC
                                  i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                                  UniFi AC-Lite access point

                                  I haven't lost my mind. It's around here...somewhere...

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    mr-elamin2 @joda
                                    last edited by Feb 22, 2023, 7:30 PM

                                    @joda We are now in 2023 and this solution has solved my my problem, I replaced the switch with an old 100 mbps switch and it has worked.
                                    What I am thinking about right now is to confer SET (Switch Embedded Team) with one Team Member Port in Hyper-V, after that I think I could use my 1GB switch.

                                    Thanks alot!

                                    1 Reply Last reply Reply Quote 1
                                    • First post
                                      Last post
                                    Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                      This community forum collects and processes your personal information.
                                      consent.not_received