Una pregunta muy habitual suele ser:
Mi base de datos tiene 40GB de buffer pool, pero está consumiendo 60GB. ¿Por qué?
Una pregunta sencilla cuya respuesta es por lo general difícil de encontrar. MySQL no nos da mucha información sobre donde se está usando esa memoria. Un problema que se intentará arreglar en el próximo Oracle MySQL 5.7 así que hasta que llegue ese momento toca realizar tareas de investigación. Lo primero y lo lógico es mirar el my.cnf y tener en cuenta estos detalles:
- Hay 4 buffers que se usan por sesión. Eso quiere decir que no es un valor global, si no que se puede multiplicar por el número de threads que tengas abiertos. read_buffer_size, read_rnd_buffer_size, sort_buffer_size y join_buffer_size son los que tenemos que investigar primero. La recomendación habitual es no cambiar los valores por defecto de dichas variables. La …