Acelerando MySQL Mario Renato Uriarte Amaya
Acelerando MySQL ► El
incremento en el uso de MySQL en grandes organizaciones, exige: Mayor Capacidad de respuesta Alto Rendimiento Fiabilidad
► MySQL
viene configurado para poder correr en máquinas pobres. Si queremos más de el, debemos acelerarlo
Consideraciones Previas ► Mejorar
la capacidad de nuestras aplicaciones, implica revisar y optimizar nuestro código, nuestro diseño de base datos, índices, etc.
Corazón de MySQL ► El
factor más importante a la hora de mejorar la eficacia de un servidor MySQL es la memoria. ► MySQL usa la memoria para mantener un gran número de buffers y caché, tanto globales o por conexión.
Tipos de Memoria ► Global:
Contiene información compartida por todas las conexiones de MySQL. Por ejemplo, el buffer de claves y el caché de tablas. ► Por Conexión: Reservan información en función a las necesidades de búsqueda.
Búsquedas por Indice ► Cuando
MySQL busca una información, revisa primero si el índice se encuentra en memoria. ► La opción Key_Buffer determina el tamaño de la memoria dedicada a almacenar los índices. ► Si no lo encuentra, tendrá que ir al Disco Duro, copiar el índice en memoria y continuar su trabajo. ► El valor por defecto es de 8 MB.
Caché de Tablas ► Las
Tablas están compuestas por 3 archivos: MyD, el cual contiene la data. MyI, para los índices. FRM, el cual contiene la definición de la tabla.
► Cada
vez que MySQL tenga que trabajar con una tabla, abrirá esos 3 archivos y nos los cerrará hasta que no los necesite.
Caché de Tablas ►O
hasta que alcance el valor máximo de table_cache, que es por defecto 64. ► Si el servidor tiene un gran número de tablas, perderá mucho tiempo abriendo y cerrando archivos.
Escaneo de Tablas ► Se
da lugar cuando se lee toda la tabla en lugar de usar un índice o simplemente cuando no hay índice. ► La opción record_buffer nos permite leer las tablas en trozos más grandes, reduciendo así el número de accesos a disco y acelerando la búsqueda.
Ordenando la Información ► El
buffer de ordenación se usa en búsquedas que incluyen las sentencias ORDER y GROUP. ► La variable sort_buffer viene establecida a un valor por defecto de 8 MB.
Consideraciones ► Se
debe realizar los cambios uno a uno y evaluar la respuesta del servidor en las situaciones más reales posibles. ► No se deberá experimentar con un servidor de producción, para tal fin utilizar uno de similares características.