MySQL緩存命中率,網上說法不一,下面我說下我的看法,大家輕拍:
總的select查詢數等于com_select(沒命中) + qcache_hits(命中) + 解析錯誤的查詢。
再來看看Com_select變量:
<a></a>
com_select等于qcache_inserts(緩存失效) + qcache_not_cache(沒有緩存) + 權限檢查錯誤的查詢。
是以,Mysql的查詢緩存命中率 ≈ qcache_hits / (qcache_hits + com_select)
查詢緩存變量:
是以本例中的查詢緩存命中率 ≈ 3/(3+46) = 6.12%
查詢緩存變量含義:
Qcache_free_blocks
目前還處于空閑狀态的 Query Cache中記憶體 Block 數目,數目大說明可能有碎片。FLUSH QUERY CACHE會對緩存中的碎片進行整理,進而得到一個空閑塊。
Qcache_free_memory
緩存中的空閑記憶體總量。
Qcache_hits
緩存命中次數。
Qcache_inserts
緩存失效次數。
Qcache_lowmem_prunes
緩存出現記憶體不足并且必須要進行清理以便為更多查詢提供空間的次數。這個數字最好長時間來看;如果這個數字在不斷增長,就表示可能碎片非常嚴重,或者記憶體很少。(上面的free_blocks和free_memory可以告訴您屬于哪種情況)。
Qcache_not_cached
不适合進行緩存的查詢的數量,通常是由于這些查詢不是SELECT語句以及由于query_cache_type設定的不會被Cache的查詢。
Qcache_queries_in_cache
目前緩存的查詢(和響應)的數量。
Qcache_total_blocks
緩存中塊的數量。
本文轉自黃聰部落格園部落格,原文連結:http://www.cnblogs.com/huangcong/p/5225317.html,如需轉載請自行聯系原作者