Optimización de MySql


1. Optimización Básica
2. Optimización Avanzada


Puede elegir optimizar el servidor MySQL en un nivel básico o en un nivel avanzado.
A continuación le ayudaremos con algunos consejos y normas importantes.





Optimización Básica



MySQL Server se puede optimizar en un nivel básico, con el script optimizador de MySQL.


1. Descargue el script con el comando:

wget https://github.com/major/MySQLTuner-perl/zipball/master

2.
Ahora, ejecute los comandos:

unzip master

cd major-MySQLTuner*

chmod +x mysqltuner.pl

perl mysqltuner.pl

El script va a comprobar el estado de MySQL y ponerle al día con las variables que usted necesita para afinar la optimización de MySQL.








Optimización Avanzada



Para el nivel avanzado de optimización, se debe afinar su servidor MySQL basándose en las aplicaciones y la utilización de recursos. A continuación se presentan algunas variables importantes del sistema que necesitan ser ajustado para el uso normal.

  • table_cache: Cada vez que MySQL accede a una tabla, que almacena la tabla en la caché. Los datos se pueden recuperar más rápido de las tablas de acceso frecuente si se almacenan en caché.

Usted puede comprobar si su sistema necesita tener el valor table_cache aumentado marcando las open_tables y la variables de estado opened_tables durante las horas punta. Utilice el comando:

SHOW STATUS LIKE “open%tables%”;


open_tables es el número de tablas abiertas en la memoria caché, mientras opened_tables es el número total de tablas abiertas. Puesto que MySQL soporta multi-threading, varias consultas podrían ser ejecutadas en la misma tabla al mismo tiempo. Así que cada una de estas consultas se abrirá una tabla.

El valor por defecto para table_cache es 64. Si usted tiene suficiente memoria RAM disponible en el servidor, puede aumentar el valor table_cache. Esto reducirá el número total de tablas abiertas moviendo las tablas a la caché.



  • query_cache_size: Si usted tiene una consulta MySQL que está siendo ejecutada en repetidas ocasiones por su sitio web, MySQL se puede configurar para almacenar en caché los resultados de esta consulta.

    Puede habilitar el almacenamiento en caché de consultas estableciendo la variable de servidor query_cache_type a 1 y ajustar el tamaño de la caché en el query_cache_size variable. Si cualquiera de lo anterior se establece en 0, el almacenamiento en caché de las consultas no se activará.



  • key_buffer_size: Este es el tamaño de buffer utilizado por todos los índexes. Lo ideal es que se debería establecer en al menos una cuarta parte de la memoria disponible o más.

La solución óptima es mantener la relación de la siguiente manera:

 

    • Key_reads : Key_read_requests debe ser 1 : 100 y Key_writes / Key_write_requests siempre debe ser inferior a 1.
    • Si el valor Key_reads es alto en comparación con Key_read_requests, necesita aumentar key_buffer_size.

 

Usted puede obtener el valor de estas variables con el comando:


SHOW GLOBAL STATUS whereVariable_name like “Key_%”;


+————————+———–+                 
|Variable_name|Value|                     
+————————+———–+                 
|Key_blocks_not_flushed|0|           
|Key_blocks_unused|48394|           
|Key_blocks_used|8078|                  
|Key_read_requests|973911676|  
|Key_reads|54135|                            
|Key_write_requests|824911|        
|Key_writes|739554|                         
+————————+———–+                 


  • sort_buffer_size: Este valor mejora las órdenes grandes y complejas. Aumente este valor para acelerar las operaciones del tipo ORDER BY o GROUP BY. El valor por defecto es 2MB.

    El Tamaño suficiente de sort_buffer_size permite que las operaciones de ordenación se realicen en la memoria caché en lugar de en los archivos temporales de los discos duros.



  • thread_cache_size: Si el servidor tiene gran tráfico en MySQL, entonces el servidor creará una gran cantidad de nuevos threads a un ritmo muy alto. Esto puede llevar una gran cantidad de CPU. Cuando una conexión se desconecta, los threads se ponen en la memoria caché y un nuevo subproceso se toma de esta caché.

    Si el valor de la variable de Threads_created es grandees posible que desee aumentar el valor de la variable de sistema thread_cache_size. La tasa de aciertos de caché se puede calcular utilizando los comandos:


           SHOW GLOBAL STATUS whereVariable_name like “Connections”;

           SHOW GLOBAL STATUS whereVariable_name like “Threads_created”;


  • read_rnd_buffer_size: Esto se utiliza después de una operación de ordenación, para leer las filas ordenadamanteSi su aplicación cuenta con una gran cantidad de consultas de ORDER BY, aumentar el valor de esta variable puede mejorar el rendimiento. Este buffer es también en función de cada clienteEl valor predeterminado para read_rnd_buffer_size es 128K. La regla general es adjudicar 1MB de read_rnd_buffer_size por cada 1 GB de memoria en el servidor.


  • tmp_table_size: A veces, una tabla temporal se debe crear para la ejecución de una sentencia. Esta variable determina el tamaño máximo para una tabla temporal en la memoria.

Siempre trate de evitar la creación de la tabla temporal mediante la optimización de la consulta. Pero si es inevitable, asegúrese de que la tabla se crea en la memoria. Si la memoria no es suficiente, una tabla MyISAM se creará en el discoSi un gran número de tablas se crean en el disco, lo que necesitará es aumentar su tmp_table_size. También puede comprobar las variables de estado Created_tmp_disk_tables y Created_tmp_tables.
Created_tmp_disk_tables es el número de tablas temporales creadas en el disco al ejecutar una instrucción, mientras que Created_tmp_tables es el número de tablas en memoria creadas.

Utilice los comandos:

SHOW GLOBAL STATUS whereVariable_name like “Created_tmp_disk_tables”;

SHOW GLOBAL STATUS whereVariable_name like “Created_tmp_tables”;








  • 2 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Instalación de Cloudlinux y Configuración de LVEManager y Cagefs

El proceso a continuación explica cómo instalar CloudLinux en su servidor.1. Descargar el script...

Instalación y configuración de Maldet (LMD)

1. Para instalar Maldet2. Para configurar LMD3. Para escanear con MaldetLinux Malware Detect...

Instalación y configuración de CSF Firewall

1. Para instalar CSF Firewall en un servidor2. Para Administrar CSF Firewall3. Puertos y Ajustes...

Instalación y configuración de Clamscan (ClamAV Antivirus)

1. Para instalar ClamAV para servidores no cPanel2. Para instalar ClamAV para servidores...

Optimización de Apache

La eficiencia con la que se ejecuta Apache se puede mejorar en gran medida con unos pequeños...