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

A %d blogueros les gusta esto:

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