采用的php cms分校站点 打开特别慢,phpcms v9 打开网站特别慢 增加数据库缓存方法...
SET?GLOBAL?QUERY_CACHE_SIZE=80000000;
設(shè)置好查詢緩存的大小就行了。比如設(shè)置個(gè)20MB.SET?GLOBAL?QUERY_CACHE_SIZE=20000000;
mysql會將查詢SQL和結(jié)果集存到緩存中,等下次遇到相同的SQL語句時(shí),結(jié)果集從緩存中讀取。
1.設(shè)置緩存大小時(shí),至少給它40000(即40kb),否則會報(bào)錯(cuò),因?yàn)閙ysql啟用緩存得花這么多內(nèi)存。
最多給多少看情況啦,自己學(xué)習(xí)用的1mb都很夠了,生產(chǎn)環(huán)境下看訪問量和緩存命中率等因素再調(diào)整,不過一般都有幾百mb吧。
2.以下幾個(gè)個(gè)參數(shù)可以看出設(shè)置緩存后的效果。
可以用show?status?like?'Qcache_%'?查看。
Qcache_hits?緩存命中數(shù)
Qcache_not_cached?沒有沒緩存的query數(shù)
Qcache_free_memory?空閑緩存大小(如果空閑太多,說明你設(shè)置的緩存過大了,調(diào)小一些)
Qcache_inserts?載入緩存的query數(shù)
緩存保存query使用的算法是LRU(即least?recently?used?最近最少使用)。
這 個(gè)是mysql默認(rèn)的緩存算法,可以通過一些參數(shù)的修改使mysql使用其他緩存算法,不過沒這個(gè)必要,LRU已經(jīng)是一個(gè)非常優(yōu)秀的算法了。根據(jù)這個(gè)算 法,當(dāng)mysql收到一條query,先去緩存中找,沒找到的話就把這條query以及結(jié)果集寫進(jìn)緩存,如果恰好緩存已經(jīng)寫滿,那么mysql會將緩存中 最近最少使用的那條query刪除,然后寫入新的query和結(jié)果集。所以可以這么理解緩存保存query的時(shí)間:如果緩存夠大,query數(shù)不 多,query會一直呆在緩存中;緩存空
總結(jié)
以上是生活随笔為你收集整理的采用的php cms分校站点 打开特别慢,phpcms v9 打开网站特别慢 增加数据库缓存方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle xmltype转字节,ex
- 下一篇: linux的子进程和父进程,[Linux