Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите я выделил для кеша около 100 Мб
кэш включился, далее Qcache_free_memory не снижается менее 90 Мб
хотя показатель Qcache_lowmem_prunes растет, я понимаю что надо увеличивать query_cache_min_res_unit однако увеличивая query_cache_min_res_unit у меня получается идет резкий рост Qcache_free_blocks
также разрешите вопрос query_cache_size и key_buffer_size никаким образом не связаны?
и если можно то сколько надо выставлять памяти
для query_cache_size и key_buffer_size при условии что общее количество памяти на уровне 800 Мб (оперативная)
Неактивен
Qcache_free_blocks 219
Qcache_free_memory 101 098 488
Qcache_hits 25 607 033
Qcache_inserts 4 557 711
Qcache_lowmem_prunes 1 430 036
Qcache_not_cached 2 527 103
Qcache_queries_in_cache 1 451
Qcache_total_blocks 3 176
настройки
have_query_cache YES
query_cache_limit 1 048 576
query_cache_min_res_unit 8 192
query_cache_size 104 857 600
query_cache_type ON
query_cache_wlock_invalidate OFF
Отредактированно ximka (02.04.2009 18:46:55)
Неактивен
1. Если Вы уменьшаете размер блока, то, разумеется, при постоянном размере общего буфера, количество
таких блоков будет больше. Однако, плохо верится, что у Вас проблемы именно с фрагментацией при загрузке
query cache на 10%... С другой стороны, min_res_unit у Вас в два раза больше значения по умолчанию.
2. Query cache и key buffer — это, разумеется, независимые сущности.
prunes у Вас возникают из-за того, что Qcache_free_blocks 219 при Qcache_total_blocks 3 176. Почему так мало
блоков — интересный вопрос. Попробуйте уменьшить min_res_unit до значения 4к по умолчанию и расскажите,
что получилось )
Неактивен
уменьшил, подожду пока данные устаканятся.
я так понимаю, что Qcache_total_blocks = query_cache_size / query_cache_min_res_unit;
тогдаа Qcache_total_blocks = 100 Мб / 4 Кб, т.е. должно быть порядка 25 000 блоков всего. правильно.
ещё я поставил query_cache_limit на 2Мб, также посмотрю что делается.
Неактивен
query_cache_min_res_unit — это минимальный размер выделяемого блока (реальные блоки — больше).
Можно даже «оценить» средний размер блока в Вашем изначальном случае:
avgblock = query_cache_size / Qcache_total_blocks
или в числах
104857600 / 3176 = 33015.
Очевидно, что это гораздо больше, чем 8к, которые у Вас стоят для минимального размера блока.
Возможно, у Вас есть какие-то 1-2 запроса, которые заняли очень большие блоки, причем очень неудачно
в памяти так, что даже маленькие блоки не могут непрерывно уместиться рядом. Соответственно, другие
маленькие блоки приходится освобождать. Впрочем, эта ситуация все равно не объясняет такое
большое значение для Qcache_free_memory
Подождем результатов для начала
Неактивен
uery result ( 8 records )
Variable_name Value
Qcache_free_blocks 5813
Qcache_free_memory 88041752
Qcache_hits 26139788
Qcache_inserts 4598800
Qcache_lowmem_prunes 1430036
Qcache_not_cached 2541738
Qcache_queries_in_cache 11052
Qcache_total_blocks 28007
query result ( 6 records )
Variable_name Value
have_query_cache YES
query_cache_limit 2048000
query_cache_min_res_unit 4096
query_cache_size 104857600
query_cache_type ON
query_cache_wlock_invalidate OFF
key_cache_division_limit = 60
Неактивен
а уже к концу дня картинка вот такая
Qcache_free_blocks 3 525
Qcache_free_memory 97 468 408
Qcache_hits 27 707 731
Qcache_inserts 4 714 219
Qcache_lowmem_prunes 1 430 036
Qcache_not_cached 2 593 418
Qcache_queries_in_cache 3 126
Qcache_total_blocks 9 891
Неактивен
Qcache_lowmem_prunes у Вас не растет. Запросы могли удалиться из кэша, так как прошли апдейты. При апдейте из кэша удаляется все, что относится к данной таблице.
Неактивен