Re: mysqld not running in all CT's [message #47380 is a reply to message #44068] |
Tue, 07 August 2012 22:36 |
RedKrieg
Messages: 1 Registered: August 2012 Location: United States
|
Junior Member |
|
|
I ran into the same issue and was able to work around it. There are two solutions I found.
- Disable AIO in all containers' my.cnf files by adding "innodb_use_native_aio=0"
- Increase the global limit for the server in "/proc/sys/fs/aio-max-nr"
The first solution is simple and causes MySQL to revert to the previous 5.1 style behavior. Unfortunately if you're offering service to end-users, they may remove this setting or set up their own MySQL instance.
The second solution is more nuanced, but probably better if you can't rely on the containers' configurations to be static or if you want the enhanced performance of Asynchronous I/O.
On my CentOS5 based Virtuozzo node, the default value of aio-max-nr is 65536. A default MySQL 5.5 install will use 2661 of these, leading to the maximum of 24 started MySQL instances with the setting enabled. You should tune the value to be greater than max_instances * 2661 to ensure that you don't run into this issue.
In my case, I opted for the first solution because I didn't have time to test the effects of having this many AIO tasks happening in parallel on a single hardware node and I understand the 5.1 behavior very well for large tasks. If you opt to go with option 2 on a large install, I'd be interested in hearing how it worked out for you (as I'm sure many others reading this thread are as well).
All the docs I could find related to this:
docs.oracle.com/cd/E17952_01/refman-5.5-en/innodb-performanc e-aio-linux.html
|
|
|