我的理解是query_alloc_block_size确定查询缓存的块大小。在我的情况下,它是默认的8K
当我计算query_cache_size / Qcache_total_blocks时,我得到的数字范围是1-4K。他们为什么会随着时间而改变?为什么它们会与query_alloc_block_size不同?
query_cache_min_res_unit的默认值也是4K。为什么它会小于query_alloc_block_size?它不需要是query_alloc_block_size的倍数吗?
显然我误解了一些非常基本的东西
答案 0 :(得分:1)
好吧,我无法回答具体问题。
我对QC的看法:如果您对正在运行查询的表执行适度的写入操作,请将其关闭。
其他一些指标和建议(如果你打开它):
query_cache_size
Qcache_free_memory / query_cache_size
Qcache_lowmem_prunes / Uptime
Qcache_not_cached / Uptime
Qcache_not_cached / (Qcache_hits + Com_select + Qcache_not_cached)
Qcache_free_blocks * 4096 / query_cache_size
Qcache_hits / Qcache_inserts
Qcache_hits / (Qcache_hits + Com_select)
Qcache_hits / (Qcache_hits + Qcache_inserts + Qcache_not_cached)
Qcache_queries_in_cache
Qcache_free_blocks / Qcache_total_blocks
Qcache_inserts - Qcache_queries_in_cache / Uptime
(query_cache_size - Qcache_free_memory)
/ Qcache_queries_in_cache / query_alloc_block_size
Subquery_cache_hit / ( Subquery_cache_hit + Subquery_cache_miss )
答案 1 :(得分:0)