GNU/Linux >> Tutoriales Linux >  >> Linux

Mejorar el almacenamiento en caché de la base de datos MySQL

Advertencia

Debido a problemas con la escala y otros casos de esquina, ya no se recomienda el caché de consultas de MySQL/Mariadb. Recomendamos encarecidamente asegurarse de que el almacenamiento en caché se maneje en una aplicación nivel en su lugar.

Resumen

En la mayoría de los sistemas Linux, la instancia de la base de datos MySQL instalada de forma predeterminada a menudo se configura en un rango seguro de parámetros para garantizar un funcionamiento estable. La configuración de almacenamiento en caché de consultas generalmente no está habilitada o se establece de manera muy conservadora. Como resultado de este conservadurismo, el acceso a la base de datos utiliza poca memoria del sistema para almacenar en caché consultas repetidas. Al habilitar el caché y ajustarlo a las necesidades de la aplicación, las mejoras se pueden ver visiblemente en la mayoría de las aplicaciones, especialmente en las tiendas de comercio electrónico Magento.

Para la prueba inicial, se decidió como punto de partida un tamaño de caché de 32M. Antes de cualquier cambio, los parámetros de caché de la base de datos ubicados en /etc/my.cnf fueron configurados como:

query_cache_limit 1M
query_cache_size  0
query_cache_type  ON

Cambiando los parámetros

Para realizar cambios, el archivo /etc/my.cnf se editó para incluir los siguientes parámetros y se reinició la base de datos. Después de los cambios, la base de datos informa lo siguiente:

query_cache_limit 2M
query_cache_size  32M
query_cache_type  ON

Prueba

Para probar nuestros cambios, inicialmente instalamos una tienda de comercio electrónico Magento con la base de datos de productos de demostración predeterminada instalada. Programamos la obtención de cada producto mediante el asedio. Al aumentar el tamaño de caché en la base de datos, se redujeron otros 200 ms del tiempo de respuesta del sitio. Este simple cambio indicaría que podría haber más margen de mejora en los parámetros y el diseño del subsistema de la base de datos para optimizarlo específicamente para el uso de Magento, teniendo en cuenta que la optimización para Magento puede ser, en el mejor de los casos, una tarea complicada.

¡Trampas!

Se ejecutó el popular script MySQLTuner (como se detalla en nuestra guía MySQL Performance Tuning and Optimization) e indicó que cambiar el número de subprocesos sería beneficioso, sin embargo, este cambio resultó en una caída del rendimiento. por 290ms!

Conclusión

Fuera de la caja, la configuración de la base de datos MySQL es buena, pero podría ser significativamente mejor. El aumento del caché proporcionó una respuesta beneficiosa instantánea. Además de las mejoras en el rendimiento de la base de datos, también existen varias tecnologías de caché, como Memecached y Redis, que mejorarán el rendimiento al almacenar en caché los datos a los que se hace referencia con frecuencia.


Linux
  1. Optimizar la base de datos MySQL

  2. Copias de seguridad de bases de datos MySQL con secuencias de comandos

  3. Cómo crear una base de datos en MySQL con MySQL Workbench

  4. Conéctese a una base de datos MySQL de forma remota

  5. Importar una base de datos MySQL

PHP MySQL Seleccionar datos

Listar tablas en una base de datos MySQL

Cómo hacer una copia de seguridad de la base de datos de WordPress a través de MySQL

Servidor de base de datos MySQL

Cómo crear una base de datos en MySQL

Descripción general de MySQL