phpcms v9 打開網站特別慢 增長數據庫緩存方法

SET GLOBAL QUERY_CACHE_SIZE=80000000;

設置好查詢緩存的大小就好了。好比設置個20MB.SET GLOBAL QUERY_CACHE_SIZE=20000000;mysql

mysql會將查詢SQL和結果集存到緩存中,等下次遇到相同的SQL語句時,結果集從緩存中讀取。算法

1.設置緩存大小時,至少給它40000(即40kb),不然會報錯,由於mysql啓用緩存得花這麼多內存。sql

最多給多少看狀況啦,本身學習用的1mb都很夠了,生產環境下看訪問量和緩存命中率等因素再調整,不過通常都有幾百mb吧。緩存

2.如下幾個個參數能夠看出設置緩存後的效果。學習

能夠用show status like 'Qcache_%' 查看。code

Qcache_hits 緩存命中數內存

Qcache_not_cached 沒有沒緩存的query數it

Qcache_free_memory 空閒緩存大小(若是空閒太多,說明你設置的緩存過大了,調小一些)ast

Qcache_inserts 載入緩存的query數sed

緩存保存query使用的算法是LRU(即least recently used 最近最少使用)。

這 個是mysql默認的緩存算法,能夠經過一些參數的修改使mysql使用其餘緩存算法,不過沒這個必要,LRU已是一個很是優秀的算法了。根據這個算 法,當mysql收到一條query,先去緩存中找,沒找到的話就把這條query以及結果集寫進緩存,若是剛好緩存已經寫滿,那麼mysql會將緩存中 最近最少使用的那條query刪除,而後寫入新的query和結果集。因此能夠這麼理解緩存保存query的時間:若是緩存夠大,query數不 多,query會一直呆在緩存中;緩存空

相關文章
相關標籤/搜索