Brussels / 2 & 3 February 2013


Feed me more: Memory appetite of MySQL analysed

"During capacity planning, a frequent question which pops up is ""How much memory should I allocate for MySQL and for the system in general?"".

Also, even though there are umpteen thumb rules about this on the Internet and in books, often one notices/faces memory overrun or worse, an OOM; when even common recipes like vm.swappiness don't seem to help.

The root to understanding this lies in discovering where and how
MySQL allocates the memory, the static (buffer pool, adaptive hash index) and the variable (malloc/heaps/innodb data dictionary) components.
Correlation between mysql variables (max_connections, buffers aka the 'bufferbloat' etc.) will also be addressed. The talk will also delve over possible solutions like using memory cgroups, avoiding OOMs with/without them and memory ballooning(virtualization). Lastly, a quick discussion on features planned and/or one would like to see, will be done. "


Raghavendra Prabhu