1. Forums
  2. General
  3. General Discussion
  1. John Buckner
  2. 26.01.2015
  3.  Subscribe via email
Want to give each account its own InnoDB buffer pool to avoid noisy neighbor issue
Rate this post:
  1. 26.01.2015 12:01:46
  2. # 1
John Buckner Accepted Answer
Posts: 5
Joined: 26.01.2015
0
Votes
Undo
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 server's 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 we've come up with:

Solution 1 - account's 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 - account's MySQL running outside the CageFS / LVE
- Would use MySQL Governor - can we run multiple MySql Governor's on the same server without any issues?

Thanks for any feedback!
  1. 26.01.2015 13:01:39
  2. # 2
Richard Hordern Accepted Answer
Posts: 212
Joined: 19.03.2011
0
Votes
Undo
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\'t like more that 128 MB of query cache, and this isn\'t 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\'t 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 !
  1. 26.01.2015 13:01:40
  2. # 3
Igor Seletskiy Accepted Answer
Posts: 1194
Joined: 09.02.2010
0
Votes
Undo
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.
  1. 27.01.2015 13:01:27
  2. # 4
Richard Hordern Accepted Answer
Posts: 212
Joined: 19.03.2011
0
Votes
Undo
Richard,

We are working on something similar based on docker -> eta for beta: April 2015, but it would require additional servers.
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 :)
  1. 28.01.2015 07:01:44
  2. # 5
Alexey Berezhok Accepted Answer
Posts: 35
Joined: 20.04.2010
0
Votes
Undo
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\'t be corrupted when reach memory limit, but if memory will be not enough - caching can\'t work effectively.

Solution 2 - at this moment on one server can\'t be started more than one governor service.
  1. 30.01.2015 13:01:03
  2. # 6
John Buckner Accepted Answer
Posts: 5
Joined: 26.01.2015
0
Votes
Undo
Thanks for the replies!

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

And I'll definitely check out the Docker MySQL when it's available.  Nice to see so many great new features that keep being added, like this and OptimumCache!
  1. 14.04.2015 03:04:46
  2. # 7
Richard Hordern Accepted Answer
Posts: 212
Joined: 19.03.2011
0
Votes
Undo
Hello,

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

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

Thanks ! :)
  1. 26.04.2015 04:04:23
  2. # 8
Richard Hordern Accepted Answer
Posts: 212
Joined: 19.03.2011
0
Votes
Undo
I\'ve just found this article :

https://www.cloudlinux.com/company/news/index.php?ELEMENT_ID=1821

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

I like the Kuberdock logo :)
  1. 26.04.2015 09:04:29
  2. # 9
Richard Hordern Accepted Answer
Posts: 212
Joined: 19.03.2011
0
Votes
Undo
Please let us know when we can enroll for the beta  :)
  1. 04.05.2015 22:05:51
  2. # 10
John Buckner Accepted Answer
Posts: 5
Joined: 26.01.2015
0
Votes
Undo
Hi Richard, 

I'm 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 I'll post my experience back here.  Kuberdock does seem very interesting!

John
  1. 06.05.2015 11:05:30
  2. # 11
Richard Hordern Accepted Answer
Posts: 212
Joined: 19.03.2011
0
Votes
Undo
Thanks for the update :)
  • Page :
  • 1


There are no replies made for this post yet.
Be one of the first to reply to this post!
Guest
Submit Your Response
Upload files or images for this discussion by clicking on the upload button below. Supports gif,jpg,png,zip,rar,pdf
• Insert • Remove Upload Files (Maximum File Size: 2 MB)
Captcha
To protect the site from bots and unauthorized scripts, we require that you enter the captcha codes below before posting your question.