Mejorar el rendimiento de MySQL 5.7 con parámetros

Hola, hoy vamos a hablaros sobre cómo mejorar el rendimiento de MySQL 5.7. No hay una receta mágica para mejorar el rendimiento de MySQL ya que cada entorno es diferente. Aún así vamos a daros unas pautas generales para intentar mejorarlo.

mejorar rendimiento mysql

Dividiremos la recomendaciones en dos: hardware y buenas prácticas. Empecemos.

Usando parámetros de hardware

Inevitablemente un hardware mejor, repercute en un mayor rendimiento. Pero este esfuerzo económico debe ir acompañado de ciertos ajustes para que pueda ser aprovechado. Estos ajustes deberían realizarse en el fichero de configuración (my.cnf) y siempre en un entorno de pruebas. Una vez probados se pasarán a producción.

innodb_buffer_pool_size

Este parámetro debe establecerse entre un 50-70% del total de la memoria RAM del servidor siempre que este sea un servidor dedicado sólo a MySQL como recomendamos.

A través de este parámetro se establece la cantidad de memoria RAM destinada a guardar cacheadas las tablas e índices de MySQL para un rápido acceso.

innodb_log_file_size

Generalmente se establece entre 128 MB y 2 GB.

Este parámetro no debe ser mayor que innodb_buffer_pool_size comentado anteriormente

innodb_flush_method

Estableciendo este parámetro a O_DIRECT evitará la penalización de rendimiento por doble búfer.

Mejorar el rendimiento de MySQL con buenas prácticas

Estas recomendaciones son independientes del hardware. Aún así pueden mejorar el rendimiento.

innodb_file_per_table

Estableciendo este parámetro a ON crea ficheros diferentes por cada tabla en lugar de almacenar todas las tablas es un único fichero.

Este parámetro viene establecido por defecto a ON.

innodb_stats_on_metadata

Estableciendo este parámetro a “OFF” evita actualizaciones innecesarias de estadísticas de InnoDB, con lo que puede ayudar a mejorar las operaciones de lectura de la base de datos.

innodb_buffer_pool_instances

En caso de tener un valor de innodb_buffer_pool_size inferior a 1 GB, es recomendable establecer innodb_buffer_pool_instances en 8. En caso de ser mayor o igual a 1 GB, establecer este valor en «1».

Desactivar la caché de queries

Para esto será necesario establecer en «0» los parámetros query_cache_type y query_cache_size

Si después de todo esto no conseguís mejorar vuestro entorno o quieres que lo revisemos, no dudes en contactar con nosotros sin compromiso.

Si no quieres perderte estos trucos y estar al día sobre el mundo de las bases de datos, no dudes en ponerte en apuntarte a nuestra newsletter. Tan solo recibirás un email al mes.

Fuente: https://www.percona.com/blog/2020/04/01/tips-for-mysql-5-7-database-tuning-and-performance/