sql >> Base de Datos >  >> RDS >> Mysql

¿Debo sacrificar mi innodb_buufer_pool _size/RAM para hacer espacio para query_cache_size ?

En junio de 2014 respondí https://dba.stackexchange.com/questions/66774/why-query-cache-type-is-disabled-by-default-start-from-mysql-5 -6/66796#66796

En esa publicación, analicé cómo InnoDB microgestiona los cambios entre InnoDB Buffer Pool y Query Cache.

NO USAR LA CACHE DE CONSULTA

La respuesta más simple sería deshabilitar el caché de consultas, pero hay un problema:debe configurar ambos query_cache_size y query_cache_type a cero (0).

Si no configura query_cache_type a cero (0), todavía se produce la microgestión de cambios. Esto se verifica con lo que dice el Párrafo 8 de MySQL Documentación "Configuración de caché de consultas" dice

USO DE LA CACHE DE CONSULTA

Si realmente desea utilizar Query Cache, debe estudiar sus datos. Básicamente, necesitas saber el tamaño de tus resultados. Luego establecería query_cache_limit y query_cache_min_res_unit para acomodar el conjunto de resultados de tamaño promedio, así como el conjunto de resultados de tamaño máximo.

Como alternativa, puede habilitar Query Cache globalmente pero deshabilitar su uso desde su sesión de base de datos como se indica en Párrafo 9 :

TU PREGUNTA REAL

La caché de consultas, el grupo de búfer de InnoDB, por subprocesos de conexión (consulte mi publicación https://dba.stackexchange.com/questions/16969/cuán-costoso-es-abrir-y-cerrar-una-conexión-db/ 16973#16973 ) y el sistema operativo compiten por la memoria RAM.

Al mirar solo Query Cache y InnoDB Buffer Pool, necesita ver cuánto espacio queda libre en InnoDB Buffer Pool después de que MySQL se haya estado ejecutando durante días o semanas.

Puedes ejecutar esta consulta

SELECT variable_value / 64 free_mb
FROM information_schema.global_status
WHERE variable_name='Innodb_buffer_pool_pages_free';

Esto le dirá cuánto puede reducir el grupo de búfer de InnoDB. A continuación, podría aumentar la caché de consultas en ese tamaño. Si esta consulta devuelve menos de 1024, probablemente no valga la pena el esfuerzo. Obtendrá el espacio adicional de la RAM o simplemente deshabilitará el Caché de consultas.