2024 Autor: Peter John Melton | [email protected]. Última modificación: 2024-01-31 06:11
Una de las mejores formas de acelerar su aplicación web es habilitar el almacenamiento en caché de consultas en su base de datos, que almacena en la memoria caché las consultas de SQL más utilizadas para el acceso virtualmente instantáneo en la página siguiente que realiza la misma solicitud.
La razón por la que este método es tan poderoso es que no tiene que hacer ningún cambio en su aplicación web, solo tiene que sacrificar un poco de memoria. Esto no solucionará todos sus problemas, pero definitivamente no puede hacer daño.
Nota: si su aplicación actualiza las tablas con frecuencia, la caché de consultas se eliminará constantemente y no obtendrá mucho o ningún beneficio de esto. Esto es ideal para una aplicación que generalmente lee contra la base de datos, como un blog de WordPress. Esto tampoco funcionará si está ejecutando en un alojamiento compartido.
Habilitar el almacenamiento en caché con el servidor en ejecución
Lo primero que querrás hacer es asegurarte de que tu instalación de MySQL tenga realmente disponible el soporte de consulta de caché. La mayoría de las distribuciones lo hacen, pero deberías comprobarlo de todos modos.
Querrá ejecutar este comando desde su consola MySQL, que le indicará si el almacenamiento en caché de consultas está disponible.
mysql> show variables like 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+
No confunda esto con el significado de que el almacenamiento en caché de consultas está realmente habilitado, porque la mayoría de los proveedores de alojamiento no lo van a habilitar de forma predeterminada. Curiosamente, mi instalación de Ubuntu Feisty ya la tenía habilitada …
A continuación, deberemos comprobar y ver si el almacenamiento en caché de consultas está habilitado. Tendremos que verificar más de una variable, por lo que también podemos hacerlo de una vez al verificar la variable% de consulta
mysql> show variables like 'query%'; +------------------------------+---------+ | Variable_name | Value | +------------------------------+---------+ | query_alloc_block_size | 8192 | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 8388608 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | | query_prealloc_size | 8192 | +------------------------------+---------+
Aquí están los elementos importantes en la lista y lo que significan:
- query_cache_size - Este es el tamaño del caché en bytes. Establecer este valor en 0 efectivamente deshabilitará el almacenamiento en caché.
- query_cache_type - Este valor debe estar activado o 1 para que el almacenamiento en caché de consultas esté habilitado de forma predeterminada.
- query_cache_limit - Esta es la consulta de tamaño máximo (en bytes) que se almacenará en caché.
Si el valor de query_cache_size se establece en 0 o simplemente desea cambiarlo, deberá ejecutar el siguiente comando, teniendo en cuenta que el valor está en bytes. Por ejemplo, si desea asignar 8MB al caché, usaríamos 1024 * 1024 * 8 = 8388608 como valor.
SET GLOBAL query_cache_size = 8388608;
Del mismo modo, las otras opciones se pueden configurar con la misma sintaxis:
SET GLOBAL query_cache_limit = 1048576;
SET GLOBAL
query_cache_type
= 1;
Ahora, ¿cómo podemos saber si realmente está funcionando? Puede usar el comando MOSTRAR ESTADO para extraer todas las variables que comienzan con "Qc" para observar lo que sucede debajo del capó.
mysql> SHOW STATUS LIKE 'Qc%'; +-------------------------+--------+ | Variable_name | Value | +-------------------------+--------+ | Qcache_free_blocks | 65 | | Qcache_free_memory | 201440 | | Qcache_hits | 18868 | | Qcache_inserts | 2940 | | Qcache_lowmem_prunes | 665 | | Qcache_not_cached | 246 | | Qcache_queries_in_cache | 492 | | Qcache_total_blocks | 1430 | +-------------------------+--------+ 8 rows in set (0.00 sec)
Notarás en las estadísticas que me queda mucha memoria libre. Si su servidor muestra muchas ciruelas bajas, es posible que deba considerar aumentar este valor, pero no gastaría mucha memoria en el almacenamiento en caché de consultas para un servidor web … debe dejar la memoria disponible para apache, php, ruby o lo que sea que estés usando
Habilitar en el archivo de configuración
Si desea que estos cambios sobrevivan a un reinicio o reinicio del servidor mysql, deberá agregarlos a su archivo de configuración /etc/mysql/my.cnf para MySQL. Tenga en cuenta que podría estar en una ubicación diferente en su instalación.
Abra el archivo utilizando un editor de texto en modo sudo o raíz, y luego agregue estos valores si aún no existen en el archivo. Si existen, solo descoméntelas.
query_cache_size = 268435456 query_cache_type=1 query_cache_limit=1048576
El almacenamiento en caché de consultas puede mejorar significativamente la velocidad de su aplicación web, especialmente si su aplicación realmente lee. Supervise el estado utilizando los métodos anteriores y vea cómo funciona con el tiempo.
Recomendado:
Acelere su navegación web con Google Public DNS
¿Está buscando una forma más rápida de navegar por Internet y hacer que las páginas se carguen más rápido? Si es así, es posible que le interese probar el DNS público de Google. Aquí, veremos cómo agregarlo a su enrutador o computadora de su hogar.
Cómo hacer Geek en Lifehacker: controle su computadora con accesos directos y acelere la configuración de Vista
Muchas personas no se dan cuenta de que, en lugar de instalar docenas de aplicaciones, puede controlar casi cualquier aspecto de su computadora con accesos directos simples que no ocupan ningún recurso.
Acelere el inicio de sesión de Windows 8.1 con el almacenamiento en caché de políticas de grupo
Este artículo lo presentará con el Caché de políticas de grupo para optimizar Windows 8.1. Puede acelerar el proceso de inicio de sesión porque el motor de la Política de grupo carga la información de la política desde un caché local
RMPrepUSB: instale Windows en USB, acelere el USB y haga más con él
RMPrepUSB le permite instalar Windows, Linux en USB, acelera el USB y realiza diferentes tareas con su unidad USB. Velocidad de prueba de la unidad USB. Descargar libre.
El sitio no carga el error: no se puede acceder a este sitio
Si un sitio web o una página web no se está cargando y recibe un error No se puede acceder a este sitio, esta publicación sugiere formas de solucionar el problema.