Optimizar MariaDB y MySQL con MySQLTuner

Optimizar MariaDB y MySQL con MySQLTuner.

Ejecutar MariaDB o MySQL en servidores con una alta carga de trabajo, requiere de una configuración óptima si no quieres tener problemas en el servidor. Para evitar estos posibles problemas e incluso poder manejar aun más carga, debes modificar la configuración predeterminada, ya sea de MarioDB, o de MySQL.

La tarea no es sencilla para profanos en el manejo de servidores, pero no te preocupes… existe una herramienta llamada «MySQLTuner«, que tras realizar un análisis del servidor de base de datos te ofrecerá una serie de recomendaciones con las que podrás mejorar ostensiblemente el rendimiento. Debes tener en cuenta que la aplicación no realizara ninguna modificación, eso lo debes hacer tu de forma manual.

Vemos como proceder.

 

Optimizar MariaDB y MySQL con MySQLTuner

Antes de lanzarte a la aventura, te recomiendo que te asegures de que realmente necesitas re-configurar el servidor de bases de datos; puedes ver los consumos de cpu y de memoria con estos comandos.

Memoria RAM:

CPU:

Si notas que tu sistema consume demasiado… procedemos a instalar MySQLTuner.

Descargamos el script.

Le concedemos permisos.

Ejecutamos MySQLTuner.

MySQLTuner te ofrecerá unas sugerencias al final de la impresión, sobre cómo mejorar el rendimiento de la base de datos sin ningún riesgo para el sistema.

ejemplo de salida…

Analisis de MySQLTuner

Análisis de MySQLTuner

 

Ajustes de MariaDB o MySQL

Puedes editar el archivo de configuración ejecutando lo siguiente (la localización del archivo puede variar dependiendo de la distribución linux, o si instalaste el servidor con algún panel de control integrado):

Antes de modificar nada, hacemos una copia de seguridad del archivo.

Una vez modificado el archivo, lo guardas y cierras el editor.

Reiniciamos.

 

Explicamos algunas de las opciones que seguro deberás configurar.

key_buffer

Esta opción asigna más memoria a MySQL, lo que puede acelerar bases de datos. El  key_bufferno debe tener más del 25 por ciento de la memoria total del sistema cuando si usas MyISAM, en InnoDB puedes aplicar hasta el 70%. No asignes más memoria de la necesaria.

max_allowed_packet

Este parámetro nos permite establecer el tamaño máximo del paquete a enviar. Un paquete es una sola fila que se envía a un cliente o un registro desde un server maestro a un esclavo. Si tu servidor va a procesar paquetes muy grandes, aumenta el valor hasta al tamaño del paquete más grande posible a enviar.

thread_stack

Este valor contiene el tamaño de la pila para cada hilo. MySQL considera que el valor de la variable  thread_stack variable es suficiente para un uso normal. Si tienes errores puedes aumentarlo un poco.

thread_cache_size

Si  thread_cache_size está configurado a , todas las nuevas conexiones que se realicen requerirán de la creación de un nuevo hilo para ellas, y al desconectar se auto-destruirán. Este valor establece el número de hilos sin uso que se pueden almacenar en caché a la espera de ser utilizados por una nueva conexión. A no ser que tengas cientos de conexiones por minuto, no debes modificar este valor.

max_connections

Con este parámetro establecemos la cantidad máxima de conexiones concurrentes . Es mejor tener en cuenta la cantidad máxima de conexiones que hemos tenido en el pasado antes de configurar este valor. Esto no indica la cantidad máxima de usuarios del sitio web al mismo tiempo, sino la cantidad máxima de usuarios que lanzan solicitudes de manera simultánea.

table_cache

Este valor debe ser siempre mayor que el que tengas establecido en open_tables. Puedes especificarlo con:

Y con las opciones damos por finalizado este articulo.

 

Espero que este articulo sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

Agregar comentario