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

    PfSense hardware for home router - OpenVPN performance

    Scheduled Pinned Locked Moved Hardware
    110 Posts 30 Posters 59.1k 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
      denova
      last edited by

      Think I found whats giving me the very high results on Speedtest.net. With LZO compression disabled in OpenVPN my results are near 500 Mbps again, with LZO enabled its much higher. But it appears speedtest.net is a bit tricked by LZO:

      "When doing VPN tests to measure connection speeds, most people turn to the web’s most prominent internet speed testing website, speedtest.net. Unfortunately, although speedtest.net is a very good indicator of naked internet speed, it can yield some very odd results when VPN testing, often indicating speeds much faster than not just the naked internet results, but than the cap put on a service by the ISP . The reason for this is that the Flash based speedtest.net tool does not account for LZO compression, which is built into the  OpenVPN protocol.

      LZO compression
      OpenVPN has built into it the optional ability to use the LZO lossless compression library. Much like the better known .zip format, this compresses the size of some files types, which can indeed increase data throughput, but does not count against your ‘real’ bandwidth usage. Files that are already compressed, such as .zip, .rar, and .mp3, and .jpg files, do not benefit much from additional compression. As we noted earlier, speedtest.net is easily confused by the use of LZO compression" (https://www.bestvpn.com/vpn-speed-test-overview/)

      So my real world speed is probably 500 Mbps, still very nice  ;D

      1 Reply Last reply Reply Quote 0
      • M
        mauroman33
        last edited by

        Nice found!
        Your's definitely a great achievement. I also have a PIA connection at moment (swedish server), but I had never exceed the theoretical maximum speed. On what PIA server are you connected?

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

          Interesting. There's nothing wrong with using compression. Speedtests data should probably be non-compressible to test the actual available bandwidth though. But it shows how much it can help if what you're transferring is compressible.

          Steve

          1 Reply Last reply Reply Quote 0
          • V
            VAMike
            last edited by

            I don't see any point in enabling compression on the modern internet. The majority of data is either encrypted (thus incompressible) or already compressed (like streaming video). So outside of benchmarks it basically never gets used, but it always adds a bit of CPU overhead.

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

              I guess it all depends on what your expected traffic is. Yeah if you're mostly using https and netflx then maybe not worth it. I've never actually tried to measure the overhead introduced though.

              Steve

              1 Reply Last reply Reply Quote 0
              • V
                VAMike
                last edited by

                @stephenw10:

                I guess it all depends on what your expected traffic is. Yeah if you're mostly using https and netflx then maybe not worth it. I've never actually tried to measure the overhead introduced though.

                If the bulk of your traffic isn't encrypted or already compressed, then you've got a very, very unusual traffic profile. If someone's transferring huge quantities of uncompressed text over http, then sure, they should enable link compression.

                1 Reply Last reply Reply Quote 0
                • PippinP
                  Pippin
                  last edited by

                  To do a OpenVPN speed test I find that downloading a incompressible BIN or zip or … from a server(s) on the net gives better consistent results. Just search something like "download test bin zip file".
                  Something like: https://www.thinkbroadband.com/download
                  And use the download url`s in this program: http://www.nirsoft.net/utils/download_speed_tester.html

                  I don't see any point in enabling compression on the modern internet

                  Indeed, according to the manual it adds at least 1 byte/packet for lzo + the needed processing power, for lz4 I don`t know.

                  I gloomily came to the ironic conclusion that if you take a highly intelligent person and give them the best possible, elite education, then you will most likely wind up with an academic who is completely impervious to reality.
                  Halton Arp

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

                    @mauroman33:

                    Nice found!
                    Your's definitely a great achievement. I also have a PIA connection at moment (swedish server), but I had never exceed the theoretical maximum speed. On what PIA server are you connected?

                    I use the nl.privateinternetaccess.com server, but I think it's just about selecting one near you. I'll try the Swedish one some day :)

                    1 Reply Last reply Reply Quote 0
                    • M
                      mauroman33
                      last edited by

                      @denova:

                      @mauroman33:

                      Nice found!
                      Your's definitely a great achievement. I also have a PIA connection at moment (swedish server), but I had never exceed the theoretical maximum speed. On what PIA server are you connected?

                      I use the nl.privateinternetaccess.com server, but I think it's just about selecting one near you. I'll try the Swedish one some day :)

                      I do use that one because I spend most of the year in Sweden ;).
                      Staying myself much closer to the Copenhagen servers I tried that connection, but performance was not as good as expected.
                      I'll take a look on nl servers too. Thanks!

                      1 Reply Last reply Reply Quote 0
                      • B
                        belt9
                        last edited by

                        @VAMike:

                        @stephenw10:

                        I guess it all depends on what your expected traffic is. Yeah if you're mostly using https and netflx then maybe not worth it. I've never actually tried to measure the overhead introduced though.

                        If the bulk of your traffic isn't encrypted or already compressed, then you've got a very, very unusual traffic profile. If someone's transferring huge quantities of uncompressed text over http, then sure, they should enable link compression.

                        This assumes you're just using the connection to do normal browsing and internet usage, i.e., an OpenVPN Client. What about the OpenVPN server. Where I connect to my home or work network from afar, often with a sub-optimal connection and transfer all kinds of files and data (much of it un-encrypted) from my home network to my laptop. This is where LZOv2 is useful.

                        1 Reply Last reply Reply Quote 0
                        • N
                          n3by
                          last edited by

                          why not use adaptive compression and let OVPN to decide when to use it or not ?

                          ovpn.png
                          ovpn.png_thumb

                          1 Reply Last reply Reply Quote 0
                          • B
                            belt9
                            last edited by

                            no real reason when it comes to actual day to day usage you would notice.

                            1 Reply Last reply Reply Quote 0
                            • V
                              VAMike
                              last edited by

                              @belt9:

                              @VAMike:

                              @stephenw10:

                              I guess it all depends on what your expected traffic is. Yeah if you're mostly using https and netflx then maybe not worth it. I've never actually tried to measure the overhead introduced though.

                              If the bulk of your traffic isn't encrypted or already compressed, then you've got a very, very unusual traffic profile. If someone's transferring huge quantities of uncompressed text over http, then sure, they should enable link compression.

                              This assumes you're just using the connection to do normal browsing and internet usage, i.e., an OpenVPN Client. What about the OpenVPN server. Where I connect to my home or work network from afar, often with a sub-optimal connection and transfer all kinds of files and data (much of it un-encrypted) from my home network to my laptop. This is where LZOv2 is useful.

                              I can't even think of what connections on my home network would consist of very much uncompressed data by volume. Video is compressed, pictures are compressed, documents are compressed. There'd be some uncompressed html & source code, but that would be such a small fraction of traffic as to be negligible. Again, if you really do have an overwhelming workload of uncompressed data then sure it makes sense to compress it. (Although I'd look at doing that somewhere else than the edge in the VPN client, personally–by spreading out the compression work to other places you'll be doing less in the single threaded bottlenecked openvpn process.) But for most people that's not the case, and the compression is just adding overhead with no real benefit.

                              1 Reply Last reply Reply Quote 0
                              • V
                                VAMike
                                last edited by

                                @ecfx:

                                why not use adaptive compression and let OVPN to decide when to use it or not ?

                                So the way that works is to compress everything, then look at it, decide whether the compression ratio is good enough, stop compressing for a bit if not, then repeat that cycle. All of which happens inside the single openvpn process that doesn't scale particularly well. The only reason to bother with that is if you expect that it'll be useful at least some of the time. A few years ago I'd typically see at least 60% of traffic on an internet link be HTTP, with plain text making up a good portion of that. Now it's more common to see 60+% HTTPS by volume (not compressible) and most of the remaining HTTP is either protocol compressed or consists of images or other incompressible data. At any rate, it's not really a matter of guessing: the openvpn client status log can tell you the compression ratio you're actually getting. :)

                                1 Reply Last reply Reply Quote 0
                                • Y
                                  yogibo
                                  last edited by

                                  @denova:

                                  The reason for this is that the Flash based speedtest.net tool does not account for LZO compression, which is built into the  OpenVPN protocol.

                                  did you try beta.speedtest.net I believe that doesn't use flash.

                                  I have i3-7350K and I tried disabling compression and it didn't seem to make a difference, I am able to hit around 700mbs to 800mbs.  Maybe i'm not disabling it correctly.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    belt9
                                    last edited by

                                    Yeah we aren't talking about any noticeable difference with compression on or off. That's why pretty much everyone turns out on. You won't notice the difference if you turn it off.

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      Fuego
                                      last edited by

                                      Hi guys, new to the pfSense world  :)

                                      I got a j3355b-itx coming in the mail this weekend, which I will be mainly using as VPN server for remote access.

                                      From what I have seen, these speeds are as OpenVPN clients. Has anyone done any speed test as OpenVPN serer for remote access?

                                      My current router tops at around 30Mbps (as vpn server), I'm hoping to achieve at least 150Mbps using the j3355b on gigabit connection.

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

                                        There is no significant difference between client and server modes for OpenVPN. There may be a difference between encrypting and decrypting but that depends of which direction the majority of your traffic is going. It too though is not something I've seen as significant. You should be able to push 100Mbps+ with that I would expect. Let us know your results.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          Fuego
                                          last edited by

                                          @stephenw10:

                                          .. Let us know your results.

                                          Steve

                                          Will do. Thanks

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            mauroman33
                                            last edited by

                                            @Fuego:

                                            Hi guys, new to the pfSense world  :)

                                            I got a j3355b-itx coming in the mail this weekend, which I will be mainly using as VPN server for remote access.

                                            From what I have seen, these speeds are as OpenVPN clients. Has anyone done any speed test as OpenVPN serer for remote access?

                                            My current router tops at around 30Mbps (as vpn server), I'm hoping to achieve at least 150Mbps using the j3355b on gigabit connection.

                                            From opening post:

                                            Intel Celeron J3355 2x2GHz        -TDP 10W -CPU Mark 1333 -Single Thread  884
                                            3200/10,9 =  293 Mbps OpenVPN performance (estimate)

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