當(dāng)你百度搜索 WordPress CPU 關(guān)鍵詞的時(shí)候,你會(huì)發(fā)現(xiàn)可以搜索到很多使用 WordPress 搭建的網(wǎng)站都不同程度的有出現(xiàn)過(guò) CPU 超負(fù)荷的情況,當(dāng)然本站也不例外。雖然搭建 WordPress 網(wǎng)站會(huì)占用大量的內(nèi)存,還需要一些好些的服務(wù)器配置之外,我們?nèi)绻敫玫慕o用戶有更好的訪問(wèn)體驗(yàn),對(duì)網(wǎng)站優(yōu)化也是必不可少的。很多時(shí)候用 WordPress 越久,數(shù)據(jù)越多,你就會(huì)發(fā)現(xiàn)網(wǎng)站越來(lái)越慢,怎樣才能優(yōu)化好呢,今天給大家分享的是由 MySQL 查詢導(dǎo)致的 CPU 超負(fù)荷的解決方法。
一般在配置服務(wù)器的時(shí)候 WordPress 都會(huì)使用 MySQL 用來(lái)存儲(chǔ)網(wǎng)站數(shù)據(jù),而本站也同樣使用 MySQL 數(shù)據(jù)庫(kù)。在安裝好 MySQL 后,一般默認(rèn)的配置參數(shù)并不能更好的帶來(lái)網(wǎng)站訪客對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的需求。由于 WordPress 本身開(kāi)發(fā)的原因,不能直接生成靜態(tài)的 HTML,所以我們一般都是偽靜態(tài)的頁(yè)面,這個(gè)時(shí)候?qū)?shù)據(jù)庫(kù)的訪問(wèn)就會(huì)增加。所以做好數(shù)據(jù)庫(kù)的優(yōu)化對(duì)于網(wǎng)站的訪問(wèn)速度來(lái)說(shuō)是很有必要的。
Mysql 開(kāi)啟慢查詢方法一:
1、在 my.ini 的 [mysqld] 添加如下語(yǔ)句:
log-slow-queries = E:\web\mysql\log\mysqlslowquery.log
long_query_time = 2
2、修改 My.ini,將 tmp_table_size 的值賦值到 200M
3、修改 My.ini,將 key_buffer_size 的值賦值到 128M
4、修改 My.ini,將 query_cache_size 的值賦值到 32M
5、重啟 Mysql
Mysql 開(kāi)啟慢查詢方法二、
修改 Mysql 文件夾下面的 my.ini 文件再重啟服務(wù),發(fā)現(xiàn)排除故障時(shí)還是查看一些案例解決的最有參考價(jià)值,以下都是修改 my.ini,如果你的 my.ini 中查詢沒(méi)有的話可以直接添加進(jìn)去。
#取消文件系統(tǒng)的外部鎖
skip-locking
#不進(jìn)行域名反解析,注意由此帶來(lái)的權(quán)限/授權(quán)問(wèn)題
skip-name-resolve
#索引緩存,根據(jù)內(nèi)存大小而定,如果是獨(dú)立的db服務(wù)器,可以設(shè)置高達(dá)80%的內(nèi)存總量
key_buffer = 512M
#連接排隊(duì)列表總數(shù)
back_log = 200
max_allowed_packet = 2M
#打開(kāi)表緩存總數(shù),可以避免頻繁的打開(kāi)數(shù)據(jù)表產(chǎn)生的開(kāi)銷
table_cache = 512
#每個(gè)線程排序所需的緩沖
sort_buffer_size = 4M
#每個(gè)線程讀取索引所需的緩沖
read_buffer_size = 4M
#MyISAM表發(fā)生變化時(shí)重新排序所需的緩沖
myisam_sort_buffer_size = 64M
#緩存可重用的線程數(shù)
thread_cache = 128
#查詢結(jié)果緩存
query_cache_size = 128M
#設(shè)置超時(shí)時(shí)間,能避免長(zhǎng)連接
set-variable = wait_timeout=60
大多數(shù)使用 WordPress 搭建的網(wǎng)站,其后臺(tái)都是 MySQL 數(shù)據(jù)庫(kù),提升動(dòng)態(tài)網(wǎng)站速度,減少數(shù)據(jù)庫(kù)查詢次數(shù)是幾大重點(diǎn)之一,做好數(shù)據(jù)庫(kù)優(yōu)化對(duì)于提升網(wǎng)站速度是非常有必要的。當(dāng)然文章中僅僅提到的只是一種,你也可以通過(guò)開(kāi)啟 GZIP 壓縮網(wǎng)頁(yè)、使用 CDN 節(jié)點(diǎn)加速、使用 memcache 內(nèi)存級(jí)緩存提升響應(yīng)處理速度等等。