Bienvenidos sean a este post, hoy hablaremos sobre los caches del servidor.
Primero aclaremos que es un cache, esto es basicamente un espacio de memoria donde se almacena la informacion mas solicitada para en caso de ser la misma en lugar de obtenerla del lugar original lo hace desde esta siendo mucho mas rapida y eficiente, en el caso de mariadb tiene multiples caches las cuales se pueden ajustar con variables del sistema y opciones de inicio que permiten adaptarlas a la carga de trabajo, por lo general solo se deberia regular algunos de estos, en caso de ser necesario, uno de los mas importantes caches es el pool de buffers de InnoDB.
Esto es debido a que contiene toda la informacion e indices de las tablas de InnoDB, como buena practica para un servidor dedicado el 70% de la memoria RAM deberia ser asignada a este cache, y si bien es lo recomendable esto quedara ajustado a un monton de factores y necesidades nuestras, este pool de buffers esta compuesto de dos sublistas:
- Lista nueva
- Lista vieja
A su vez a estas dos listas se les puede regular el tamaño, tambien se puede establecer el tiempo minimo que deben tener las paginas de datos antes de comenzar a completar la nueva lista, esto nos ayuda a determinar cuan a menudo una lectura de datos reciente se agrega a la nueva lista o queda en la lista vieja hasta que es eliminada, para mejorar la simultaneidad se pueden usar distintas instancias de este pool pero las instancias nunca contendran la misma informacion.
En el pool de buffers tenemos uno llamado buffer de carga el cual almacena todos los cambios de datos que no fueron enviados al disco, una de las cosas que podemos hacer es incrementar el porcentaje de este para la escritura de cargas de trabajo pesadas o tambien podemos decrementar o directamente desactivarlas para la lectura de cargas de trabajo, inclusive se puede configurar cuales son los tipos de datos que puede almacenar en el mismo.
En cambio MyISAM utiliza otro llamado cache clave (key cache), esto no almacena datos sino solamente indices tambien podemos crear mas instancias de esta y configurarlas individualmente, Aria usa un cache pagina (page cache) que es muy similar al cache clave, es mas rapido con datos de un tamaño fijo y hasta este momento no soporta instancias, si utilizan principalmente cualquiera de estos deberian ajustar lo maximo posible el tamaño proporcional a la frecuencia de datos indexados accedidos.
Cuando usamos una tabla esta accede al cache y almacena los manejos sobre las tablas fisicas en los archivos, pero cuando trabajamos con MyISAM o Aria utilizan dos archivos (recuerden que uno es para los datos y otro para los indices) para cada tabla, por lo tanto este cache nos evita una sobrecarga de acceso a estos archivos, por ultimo el cache de host contiene las asociaciones de IP con los nombres de los clientes conectados al servidor y cuando la cuenta esta bloqueada.
En resumen, hoy hemos visto como son los caches en mariadb, para que se usan principalmente, los beneficios de los mismos y que almacenan algunos de ellos, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
