Announcement

Collapse
No announcement yet.

separate mysqld instance for each CageFS / LVE?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • separate mysqld instance for each CageFS / LVE?

    Want to give each account its own InnoDB buffer pool to avoid noisy neighbor issue

  • #2
    Our goal is to give each account its own InnoDB buffer pool, so that table indexes can stay in RAM for better performance (and possibly tables too), as we prioritize performance over server density and do not oversell our servers resources. Otherwise a noisy neighbor could bump off this account from the shared global InnoDB buffer pool.

    It seems the only way to give each account its own InnoDB buffer pool is to have a separate MySQL instance for each account. Or let us know if this is simply not a good idea. Dealing with multiple MySQL instances is not an issue for our control panel since we are updating a custom one.

    Here are the two possible solutions weve come up with:

    Solution 1 - accounts MySQL running inside CageFS / LVE
    - With this approach, we do not need to use the MySQL Governor, right? As the mysqld will have the LVE resource limits applied.
    - What happens when the LVE runs out of RAM, could there potentially be database corruption? It seems you cannot give an LVE virtual memory disk space to use once its physical RAM is depleted.

    Solution 2 - accounts MySQL running outside the CageFS / LVE
    - Would use MySQL Governor - can we run multiple MySql Governors on the same server without any issues?

    Thanks for any feedback!

    Comment


    • #3
      I was actually looking into getting an automated system (maybe using docker) to create private database instances for customers.

      There would be multiple advantages of running multiple mysql instances :

      With our large mysql server, we have hit scalability issues :

      1) It takes about 1 minute to empty our 70 GB of innodb cache to restart mysql
      2) MySQL doesn like more that 128 MB of query cache, and this isn enough for large servers

      We would love to have a mysql instance per user. Would this be possible with cagefs ? I belive it could be, and hadn actually though of using cagefs for this. I guess it would need some developement, but we give our +1 for this feature request. It would me amazing !

      Comment


      • #4
        Richard,

        We are working on something similar based on docker -> eta for beta: April 2015, but it would require additional servers.

        John: I have asked MySQL developers to follow up on your post.

        Comment


        • #5
          Nice ! We were thinking about working on something like this ourselves using docker too, we will defenetly put this off until you bring out your product

          Comment


          • #6
            Hello,

            Solution 1 - you are right, in this case no need in using governor, when mysql will be in LVE. About memory limiting, I recommend to disable memory limiting for this LVE or make it enough large. MySQL shouldn be corrupted when reach memory limit, but if memory will be not enough - caching can work effectively.

            Solution 2 - at this moment on one server can be started more than one governor service.

            Comment


            • #7
              Thanks for the replies!

              Ill go with solution 1 then, and be careful about giving each LVE enough RAM.

              And Ill definitely check out the Docker MySQL when its available. Nice to see so many great new features that keep being added, like this and OptimumCache!

              Comment


              • #8
                Hello,

                John, did you manage to get a single mysql instance per account working ? Im rearly interested about doing this too…

                Igor, any news about your docker solution, is the beta ETA still april ?

                Thanks !

                Comment


                • #9
                  Ive just found this article :



                  Any news, ETA for beginning beta ? It says beginning April 2 but as nothing has been announced yet I presume theres nothing to see just now.

                  I like the Kuberdock logo

                  Comment


                  • #10
                    Please let us know when we can enroll for the beta

                    Comment


                    • #11
                      Hi Richard,

                      Im putting off my mysql per instance attempt until the very end of my project to give more time for more Kuberdock details and possible release. If I do still go with the mysql per instance approach Ill post my experience back here. Kuberdock does seem very interesting!

                      John

                      Comment


                      • #12
                        Thanks for the update

                        Comment

                        Working...
                        X