Прочитав эту страницу в документации по MySQL , я попытался разобраться в нашем текущем использовании InnoDB. В настоящее время мы выделяем 6 ГБ ОЗУ для пула буферов. Размер нашей базы данных примерно одинаков. Вот вывод из show engine innodb status\G
(мы работаем 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]
Я хотел знать, насколько хорошо мы используем буферный кеш. После того, как первоначально поглядывая на выходе, оказалось , что мы на самом деле использовать его, основанный прочь Pages made young
и not young
имеют номера в них и Buffer pool hit rate is 1000 / 10000
(которые я видел в другом месте в Интернете , что это означает , что это используется довольно тяжело. Правда?)
То, что бросает меня через цикл, - это то, почему young-making rate
и not
оба имеют 0/1000, а young/s
и non-young/s
доступы имеют оба значения 0. Все это указывает на то, что он вообще не используется, верно?
Может ли кто-нибудь помочь разобраться в этом?
источник
young-making rate 0 / 1000
и0.00 youngs/s
, это говорит нам, что мы на самом деле не используем его. Я читаю это правильно?Я не согласен с оценкой, что «вам достаточно повезло, что у вас есть буферный пул с идеальным 100% -ным коэффициентом попадания»
В верхней части вывода (который отрублен) есть строка, похожая на:
Это говорит мне о том, что за последние 16 секунд не было ни одного чтения, тем самым (искусственно) давая вам идеальный счет «1000/1000».
Между тем было несколько писем. Возможно, это были отложенные записи либо для очистки «грязных» страниц, либо для очистки индексов из «буфера изменений».
Вероятно, в последние 16 секунд не было активности в молодой / горячей области.
источник
SHOW VARIABLES LIKE 'query%';
иSHOW GLOBAL STATUS LIKE 'Qc%';
иSHOW GLOBAL VARIABLES LIKE 'Com_SELECT';
.Буферный пул разделен на две части: список молодых и список не молодых. Скорость создания показывает, сколько страниц в буферных пулах перетасовывается между двумя списками.
Страницы, созданные молодыми, создаются не молодыми страницами (т.е. считываются из кэша. Страницы, созданные молодыми, являются страницами, перемещенными из списка молодых, потому что они либо слишком старые, либо потому, что молодой список заполнен.
Скорость перемещения страниц между ними зависит от того, какая часть буферного пула в настоящее время используется по сравнению с размером молодого пула. Установка на ноль означает, что ваш активный набор (страницы, которые вы используете) меньше, чем молодой пул.
источник