Cómo optimizar MySQL Tuning MySQL

En casi cualquier servidor el mayor problema de consumo es MySQL, pues se encarga de tareas muy complejas y a medida de que tengamos más consultas a la BD y se haga más grande comenzará a complicarse, existe PosgreeSQL que según dicen es muy buen reemplazo a MySQL por su bajo consumo de recursos, pero no todos los scripts y CMS funcionan bajo esa plataforma.

Afortunadamente podemos hacer algunas optimizaciones para mejorar por mucho y mucho el consumo de MySQL, ya que por defecto no viene para nada optimizado, viene con configuraciones muy sencillas.

Especialmente para los que cuentan con VPS o Servidores Dedicados muy ajustados les puede ser útil estos consejos.

Lo que haremos aquí es editar la configuración de MySQL, abriendo el archivo de configuración con el editor de su preferencia. Yo lo haré con vim, de la siguiente manera:

:~$ sudo vim /etc/mysql/my.cnf

En este archivo, buscamos la siguiente línea:

#skip-innodb

Una vez encontrada ésta línea, la descomentamos quitándole el “#”.
Luego localizamos la siguiente línea:

skip-external-locking

Y agregamos la siguiente línea debajo:

skip-locking

Bajo esto, encontraremos una sección llamada “Fine Tuning”. En esta sección cambiamos la configuración para que se vea de la siguiente manera:

key_buffer = 15K
max_allowed_packet = 1M
thread_stack = 64K
thread_cache_size = 4
sort_buffer = 64K
net_buffer_length = 2K
max_connections = 256
table_cache = 100
thread_concurrency = 6

Obviamente deben ver bien y configurar los valores a su gusto yo sugiero que utilicen algún script como MySQLTuner o tuning-primer para seguir optimizando, pero con esto ya tienen una buena base.

Y reiniciamos MySQL:

:~$ service mysqld restart

Cualquier pregunta pueden hacerla dejando un comentario y estaré ayudándolos, tengo muchos años de experiencia en optimización de MySQL, ya que maneje a lo largo del tiempo muchos servidores con miles de consultas al segundo.

Comentarios

Entradas populares de este blog

Comandos Solaris

MikroTik QoS Script generator

Comando para eliminar saltos de linea en fichero o archivo desde consola Linux