Po przeczytaniu tej strony w dokumentacji mysql starałem się zrozumieć nasze obecne użycie InnoDB. Obecnie przydzielamy 6 GB pamięci RAM dla puli buforów. Rozmiar naszej bazy danych jest mniej więcej taki sam. Oto dane wyjściowe z show engine innodb status\G
(korzystamy z wersji 5.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]
Chciałem wiedzieć, jak dobrze wykorzystujemy bufor bufora. Po początkowym spojrzeniu na wynik, okazało się, że rzeczywiście go używamy, na podstawie Pages made young
i not young
mamy w nim liczby i Buffer pool hit rate is 1000 / 10000
(co widziałem w innych miejscach w Internecie, co oznacza, że jest dość intensywnie używane. Prawda?)
To, co rzuca mnie przez pętlę, to dlaczego young-making rate
i not
są na poziomie 0/1000, a dostęp young/s
i non-young/s
są na poziomie 0. To wszystko wskazywałoby, że w ogóle nie jest używane, prawda?
Czy ktoś może to zrozumieć?
young-making rate 0 / 1000
i oznacza to0.00 youngs/s
, że tak naprawdę nie wykorzystujemy tego. Czy czytam to prawda?