Si estás trabajando con una arquitectura MASTER-SLAVE y necesitas un óptimo rendimiento, puede darse el caso de que cuando el servidor SLAVE entra en funcionamiento, todas las consultas que estaban ya en caché en el MASTER en éste no están y eso conlleva un gran problema, ya que las primeras consultas serán muy lentas y habrá que ir a buscar todos los datos a disco. Si trabajamos en un sistema de alto rendimiento y disponibilidad, esto puede tener consecuencias importantes, como parón en el servicio o carga muy alta en el servidor de base de datos.
para solucionar ésto, tradicionalmente se empleaba un método más rudimentario, que era lanzar cada X tiempo un script que realizase dichas consultas y por lo tanto, MySQL las pre-cachease. Esto no tenía mucho sentido, por lo que la gente de Percona optó por crear una forma más óptima de realizar este llenado del buffer de las tablas InnoDB y evitar así que en el arranque del SLAVE las consultas sean tan pesadas.
Para usar esta facility,- Crear un dump del buffer_pool
mysql> use information_schema; mysql> select * from XTRADB_ADMIN_COMMAND /*!XTRA_LRU_DUMP*/;
- Subir un dump a memoria
mysql> use information_schema; mysql> select * from XTRADB_ADMIN_COMMAND /*!XTRA_LRU_RESTORE*/;
- Programar un dump cada X segundos
mysql> set innodb_auto_lru_dump = 60;
- Cargar automáticamente un dump tras reinicio
shell> vi /etc/my.cnf innodb_buffer_pool_restore_at_startup=1
No hay comentarios :
Publicar un comentario