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

    HAProxy cpu-map not compiled in?

    Scheduled Pinned Locked Moved Cache/Proxy
    14 Posts 2 Posters 2.4k 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.
    • P
      PiBa
      last edited by

      Ok patch has been send & merged. Now we will just need to wait for 1.6-dev6 to be released. That might take a month or two.. After that we can get it compiled with that build option for pfSense.

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

        Thanks, will look forward to trying it out..

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

          @PiBa:

          Any other options you found 'missing' that could be useful ?

          Regards
          PiBa-NL

          Many of the Balance Algorithms seem to be missing http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4.2-balance

          1 Reply Last reply Reply Quote 0
          • P
            PiBa
            last edited by

            I was referring more to 'compile options' that are useful/wanted but currently not in the compiled into the binary package.

            But indeed some more balance options could probably be added besides the 4 i currently show. Though those should all already be available in the actual haproxy binary. So for the 'more advanced' settings it could be possible to add them in the advanced free text field. It is not my intention to make every option that haproxy has available through the WebGUI, but am open to suggestions. Ill try and see if i can easily add a few more of those balance options to the gui do you have a particular one you would 'need' ?

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

              I thought about using the advanced options but was not sure how that would "replace" a gui option already defined, I am happy to try if that would actually work. Specifically was interested in trying the URI option since I use it in front of squid proxies. Thanks for listening… :)

              ===========================

              uri       This algorithm hashes either the left part of the URI (before
                            the question mark) or the whole URI (if the "whole" parameter
                            is present) and divides the hash value by the total weight of
                            the running servers. The result designates which server will
                            receive the request. This ensures that the same URI will
                            always be directed to the same server as long as no server
                            goes up or down. This is used with proxy caches and
                            anti-virus proxies in order to maximize the cache hit rate.

                            Note that this algorithm may only be used in an HTTP backend.
                            This algorithm is static by default, which means that
                            changing a server's weight on the fly will have no effect,
                            but this can be changed using "hash-type".

              This algorithm supports two optional parameters "len" and
                            "depth", both followed by a positive integer number. These
                            options may be helpful when it is needed to balance servers
                            based on the beginning of the URI only. The "len" parameter
                            indicates that the algorithm should only consider that many
                            characters at the beginning of the URI to compute the hash.
                            Note that having "len" set to 1 rarely makes sense since most
                            URIs start with a leading "/".

              The "depth" parameter indicates the maximum directory depth
                            to be used to compute the hash. One level is counted for each
                            slash in the request. If both parameters are specified, the
                            evaluation stops when either is reached.

              1 Reply Last reply Reply Quote 0
              • P
                PiBa
                last edited by

                Using the current gui the trick i suppose is to not select any of the 4 balancing options when creation the backend, once one is selected its not possible to deselect all those radio-buttons.. Ill see if can add that balance uri into the webgui itself.

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

                  @PiBa:

                  Using the current gui the trick i suppose is to not select any of the 4 balancing options when creation the backend, once one is selected its not possible to deselect all those radio-buttons.. Ill see if can add that balance uri into the webgui itself.

                  Great, thank you for your efforts!

                  1 Reply Last reply Reply Quote 0
                  • P
                    PiBa
                    last edited by

                    Checkout the new haproxy-devel package if you have some time, its now based on 1.6.2 and has cpu-map feature compiled in.
                    p.s. make a config backup before upgrading, as a few config changes are automatically made.. In case you need to revert..

                    If you have any questions/problems/requests regarding haproxy let me know.

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

                      I finally have 1.5 running well in our environment but will try to test out 1.6 soon, thanks for your efforts.

                      BTW, is there an easy way to backup the existing config to revert back if there are problems? TIA

                      1 Reply Last reply Reply Quote 0
                      • P
                        PiBa
                        last edited by

                        Currently no easy way.. Best is probably to create a backup of the whole pfSense configuration from diagnostics\backup-restore to start with.

                        Before reverting to a old config uninstall the haproxy-devel package so the new binaries are also uninstalled..

                        Then if you upgrade the package, and dont make much changes. You should be able to revert to a previous config from before upgrading under diagnostics\backup-restore\history.  But that is only possible 30 changes back depending on how much you change after upgrading that might not be enough..

                        Otherwise if you do make other changes in firewall-rules or other things, and you want to keep those you might want to take another backup and manually 'merge' the old <haproxy>part into the new backup file, and restore that.. p.s. Restoring a full config will reboot pfSense..(a full restore will also re-install all packages automatically iirc..)

                        After a config is restored make sure to re-install the 1_5 package to get the 1.5 binaries installed again.

                        Other option is to just re-install the 1_5 package with the upgraded config, it will mostly still work though backend selections acl-names need to be checked.. And when upgrading again in the future it probably wont upgrade as nicely as it would on a first time.. (it automatically changes combined acl's names and creates matching use_backend actions..)

                        Now i just hope you will find 1.6 working fine :) , and there wont be any need to go back.</haproxy>

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