Cómo optimizar el rendimiento de MariaDB/Mysql – Parte 2

Cómo optimizar el rendimiento de MariaDB/Mysql – Parte 2


Amigos, en este post veremos como mejorar el rendimiento de los servidores de bases de datos MariaDB/Mysql, utilizando la herramienta mysqltuner podremos adecuar la configuración de MariaDB/Mysql en función de los recursos de hardware disponibles.

Este artículo asume que posees los conocimientos mínimos de Linux, sabes cómo usar la terminal, y lo más importante, conoces tu servidor. La configuración es simple y se asume que estás ejecutando la terminal con la cuenta de root, si no es así, deberás adicionar ‘sudo’ a los comandos para obtener los privilegios de root.

Instalación de MysqlTuner

MysqlTuner es un script que analiza la instalación de MariaDB/Mysql, como resultado de su ejecución, muestra en la pantalla diferentes sugerencias para mejorar el rendimiento y la seguridad del servidor de base de datos.

Primero debemos descargar el script desde la página oficial:

# wget http://mysqltuner.com/mysqltuner.pl

Conceder el permiso de ejecución al script:

# chmod +x mysqltuner.pl 

Modo de uso

Para ejecutar el script escribiremos el siguiente comando:

# perl mysqltuner.pl

El script fue probado en una instalación existente de Mariadb con una configuración por defecto, los resultados variarán de acuerdo a la versión de la base de datos instalada. En mi caso, el resultado obtenido fue el siguiente:

El resultado más importante se encuentra al final de la pantalla, en esta sección veremos las recomendaciones para mejorar el rendimiento y seguridad de nuestro servidor.


Tuning MariaDB/Mysql

Antes de realizar cualquier cambio es muy recomendable obtener un backup de la configuración actual, en el caso de MariaDB el archivo de configuración se encuentra ubicado en /etc/mysql/mariadb.conf.d/50-server.cnf, para mysql el archivo de configuración se encuentra en /etc/mysql/my.cnf

Para generar el backup de la configuración solo copiaremos el archivo de configuración actual, en caso de que algo salga mal o que los cambios no generen los resultados esperados, solo será necesario restaurar el archivo de configuración anterior.

# cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf.backup

Para editar la configuración ejecutaremos el siguiente comando:

# nano /etc/mysql/mariadb.conf.d/50-server.cnf

A continuación analizaremos algunas modificaciones sugeridas por MysqlTuner para una instalación por defecto de MariaDB.

query_cache_size (=0)

Aunque está habilitado en versiones anteriores a MariaDB 10.1.7, el query_cache_size es por defecto 0KB, lo que efectivamente desactiva el caché de consulta.

query_cache_type (=0)

A partir de MariaDB 10.1.7, query_cache_type se establece automáticamente en ON si el servidor se inicia con el query_cache_size establecido en un valor distinto de cero.

performance_schema = ON enable PFS

El esquema de rendimiento es una característica para monitorear el rendimiento del servidor que se introdujo en MariaDB 5.5.

Para instalarlo se deben ejecutar los siguientes comandos:

# wget https://github.com/good-dba/mariadb-sys/archive/master.zip
# unzip master.zip
# cd mariadb-sys-master/
# mysql -u root -p < ./mariadb_sys_install.sql

innodb_log_file_size should be (=16M)

El tamaño combinado no puede ser más de 4GB antes de MariaDB 10.0, y no más de 512GB en MariaDB 10.0 y posteriores. Los valores más altos significan menos E / S de disco debido a una menor actividad de punto de control de vaciado, pero también una recuperación más lenta de un bloqueo.

innodb_buffer_pool_instances (=1)

Si innodb_buffer_pool_size se establece en más de 1 GB, innodb_buffer_pool_instances divide la agrupación de almacenamiento intermedio InnoDB en esta cantidad de instancias. Cada instancia administra sus propias estructuras de datos y toma una porción igual del tamaño total de la agrupación de almacenamiento intermedio, por ejemplo, si innodb_buffer_pool_size es de 4GB e innodb_buffer_pool_instances se establece en 4, cada instancia será de 1GB. Cada instancia idealmente debería tener al menos 1 GB de tamaño.

Finalmente ejecutamos nuevamente el script de mysqltuner para verificar que los cambios se realizaron correctamente.

# perl mysqltuner.pl 
Guido Cutipa

Deja un comentario

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar