Después de leer esta página en la documentación de mysql , traté de dar sentido a nuestro uso actual de InnoDB. Actualmente, asignamos 6 GB de RAM para el grupo de búferes. El tamaño de nuestra base de datos es casi el mismo. Aquí está la salida de show engine innodb status\G
(estamos ejecutando v5.5)
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 6593445888; in additional pool allocated 0
Dictionary memory allocated 1758417
Buffer pool size 393215
Free buffers 853
Database pages 360515
Old database pages 133060
Modified db pages 300
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 7365790, not young 23099457
0.00 youngs/s, 0.00 non-youngs/s
Pages read 1094342, created 185628, written 543182148
0.00 reads/s, 0.00 creates/s, 37.32 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 360515, unzip_LRU len: 0
I/O sum[2571]:cur[0], unzip sum[0]:cur[0]
Quería saber qué tan bien estamos utilizando el caché del búfer. Después de echar un vistazo inicialmente a la salida, parecía que de hecho la estábamos usando, basada en el Pages made young
y not young
tenía números en ellos y Buffer pool hit rate is 1000 / 10000
(lo que vi en otra parte de la web que significa que se está usando bastante. ¿Verdadero?)
Lo que me está tirando a través de un bucle es la razón por la young-making rate
y not
son por lo tanto 0/1000 y el young/s
y non-young/s
los accesos son ambos a 0. Esos serían todas indicar que no está siendo utilizado en absoluto, ¿verdad?
¿Alguien puede ayudar a darle sentido a esto?
fuente
young-making rate 0 / 1000
y0.00 youngs/s
, eso nos dice que realmente no lo estamos utilizando. ¿Estoy leyendo esto bien?No estaré de acuerdo con la evaluación de que "tienes la suerte de tener un grupo de búferes con una tasa de aciertos del 100% perfecta"
En la parte superior de la salida (que está cortada), hay una línea similar a:
Esto me dice que no hubo lecturas en los últimos 16 segundos, por lo que (artificialmente) le da una puntuación perfecta de '1000/1000'.
Mientras tanto hubo algunas escrituras. Posiblemente se trata de escrituras diferidas para el vaciado de páginas "sucias" o la limpieza de índices del "búfer de cambios".
Probablemente tampoco hubo actividad en el área joven / caliente en los últimos 16 segundos.
fuente
SHOW VARIABLES LIKE 'query%';
ySHOW GLOBAL STATUS LIKE 'Qc%';
ySHOW GLOBAL VARIABLES LIKE 'Com_SELECT';
.El grupo de búferes se divide en dos partes, una lista joven y una lista no joven. La tasa de creación muestra cuántas páginas en los grupos de búferes se barajan entre las dos listas.
Las páginas hechas jóvenes son páginas que no son jóvenes (es decir, que se leen fuera de la memoria caché. Las páginas hechas que no son jóvenes son páginas movidas de la lista joven porque son demasiado viejas o porque la lista joven está llena.
La velocidad en las páginas que se mueven entre los dos depende de la cantidad de la agrupación de almacenamiento intermedio que se está utilizando actualmente frente al tamaño de la agrupación joven. Establecer en cero significa que su conjunto activo (las páginas que está utilizando) es más pequeño que el grupo joven.
fuente