MySQL 的 Query Cache 是目前已知效能不好的主要因素之一 (global mutex lock 的緣故),在正式環境裡的 best practice 一般都是關閉,之前測過也是一開下去效能就會狂掉...
而 Percona 的人在討論要怎麼樣才能完全關閉 MySQL 的 Query Cache:「Is Your Query Cache Really Disabled?」,而他們發現只有在 query_cache_type
與 query_cache_size
都設為 0,而且重開 MySQL 才能完全避免 global mutex lock:
[W]e can see it is not possible to fully disable the query cache on the fly by changing
query_cache_type
or/andquery_cache_size
to 0. Based on the code and the tests, if you want to make sure the query cache is fully disabled, changequery_cache_size
andquery_cache_type
to 0 and restart MySQL.
應該是要再修正 my.cnf
的 template 了...
可以用 Percona 的 MySQL configure wizard 來做參考
https://tools.percona.com/wizard