封神陵里,句芒對剛拿到射日弓的云天河說“今日始,后羿射日弓尊你為主,力量揮放多寡,決于主人!” wordpress也一樣,跑不跑得快,決于主人。今天從框架層來聊聊wordpress博客的提速優(yōu)化。
Nginx的優(yōu)化
如今有很多HTTP server軟件可供選擇,每一款都有其優(yōu)缺點,目前最為流行的兩款當(dāng)數(shù)Nginx和Apache了。如果說Apache是阿帕奇的話,Nginx就是su37了(當(dāng)然不是電影絕密飛行里面被無人機EDI秒殺的su37),阿帕奇的機動性能跟su37不在同一個次元,Apache的性能跟Nginx也有一定差距。
所以今天我們選擇Nginx做為HTTP服務(wù)器。Nginx對網(wǎng)頁速度影響較大的就三個相關(guān)配置——http/2、Gzip、Keep-alive。
nginx啟用Gzip
Gzip對文本文件的加載速度有質(zhì)的飛躍,甚至直接影響首屏速度,而且能節(jié)省至少40%的流量成本。
gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 6;gzip_types text/plain application/x-javascript text/css application/xml application/javascript;gzip_vary on;
系統(tǒng)CPU負(fù)載不重的話,gzip_comp_level的值可以設(shè)為6,一般設(shè)為4,值越大壓縮效果越好,不過越占CPU。
Keep-alive
Keep-alive又叫HTTP持久鏈接,表示一條TCP/IP鏈接上承載著多個上下行請求。相對于傳統(tǒng)的單鏈接模式(一次請求需要創(chuàng)建一條單獨的BS鏈接的模式)來說,Keep-alive技術(shù)有著大幅度的性能提升。下面是Keep-alive技術(shù)的優(yōu)點。
1)CPU和內(nèi)存的負(fù)載會減輕,因為同一時刻打開的TCP鏈接數(shù)變少了,后續(xù)請求和響應(yīng)無須打開新鏈接,可以繼續(xù)基于這些TCP鏈接發(fā)送上下行數(shù)據(jù)。
2)當(dāng)TCP鏈接建立后,請求的等待時間將會減少,TCP建立鏈接時的三次握手發(fā)生在用戶側(cè)與server之間。當(dāng)握手成功時,一條TCP鏈接就被建立起來了。在Keep-alive模式下,握手環(huán)節(jié)是一次性的,即在鏈接建立時便會發(fā)生。鏈接建立后發(fā)生的數(shù)據(jù)傳遞不產(chǎn)生握手環(huán)節(jié),這部分的開銷就被省了下來,所以說可以有效的提升請求上下行數(shù)據(jù)的性能。
3)網(wǎng)絡(luò)阻塞情況減輕。因為同一時刻只會有少數(shù)的鏈接保持著。
keepalive_timeout 100;
MySQL的優(yōu)化
主要考慮存儲引擎方面,存儲引擎又稱表類型是MySQL的核心部分,負(fù)責(zé)處理表的操作。MySQL提供了多個存儲引擎,使用的最多的是MyISAM和InnoDB。
MyISAM和InnoDB都有各自的優(yōu)缺點,MySQL從5.5版本開始使用InnoDB作為默認(rèn)存儲引擎。這說明InnoDB比MyISAM要好嗎?其實不然,術(shù)業(yè)有專攻而已。
我們先來看看MyISAM的優(yōu)點:
1)MyISAM為速度而設(shè)計,和SELECT搭配起來使用更好。
2)如果表的數(shù)據(jù)偏向靜態(tài),即表中的數(shù)據(jù)不經(jīng)常更新/刪除,大多數(shù)僅僅是查詢操作,那么使用MyISAM是最好的選擇。
我們回過頭來看看wordpress使用數(shù)據(jù)庫的場景:主要是寫博文給網(wǎng)友看,打開一篇博文對應(yīng)數(shù)據(jù)庫的查詢操作。那么MyISAM簡直就是為wordpress而生的啊,而InnoDB是為高可靠性和高寫性能而設(shè)計的,跟wordpress博客關(guān)系不大。
而且還有一點MyISAM備份數(shù)據(jù)庫,恢復(fù)數(shù)據(jù)庫、或者恢復(fù)單個數(shù)據(jù)表都非常方便,直接操作文件.MYD文件就行了。再有一點就是MyISAM因為功能少,所以輕量,所以比InnoDB節(jié)省系統(tǒng)資源。
修改默認(rèn)存儲引擎為MyISAM,在my.cnf里寫入
default-storage-engine = MyISAM #是設(shè)定默認(rèn)的存儲引擎key_buffer_size = 256M#MySQL5.7里面默認(rèn)只有8M,太小query_cache_type = 1#開啟查詢緩存query_cache_size = 256MB#分配給查詢緩存的內(nèi)存大小query_cache_limit = 2MB#若查詢緩存結(jié)果的體積大于2MB,將不會緩存。
上面的設(shè)定,可以通過下面的MySQL語句查看設(shè)定結(jié)果:
show variables like 'default_storage_engine%';show variables like 'key_buffer_size%';show variables like 'query_cache_%';
PHP的優(yōu)化
PHP7較之于PHP5的性能提升可不止一星半點,所以先升級到7吧,OpCache對php性能的加成很大,但發(fā)現(xiàn)很多小白都是安裝了OpCache卻沒有啟用,他們以為在configure的時候加上了--enable-opcache就行了。復(fù)制下面的內(nèi)容直接在終端里面執(zhí)行。
cat >> /usr/local/php/etc/php.ini<
都是PHP官方提供的獲得高性能的建議值,值得注意的是zend_extension后面的路徑最好寫絕對路徑,相對路徑好像有問題。修改php.ini后得重啟php-fpm才能生效。
-
PHP
+關(guān)注
關(guān)注
0文章
454瀏覽量
27550 -
MySQL
+關(guān)注
關(guān)注
1文章
860瀏覽量
27946 -
nginx
+關(guān)注
關(guān)注
0文章
171瀏覽量
12612 -
wordpress
+關(guān)注
關(guān)注
0文章
37瀏覽量
3097
原文標(biāo)題:網(wǎng)站提速之WordPress篇
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
介紹一種基于FIFO結(jié)構(gòu)的優(yōu)化端點設(shè)計方案
如何開啟WordPress調(diào)試模式(報錯提示)?
vps搭建wordpress網(wǎng)站的3個步驟介紹
WordPress 一鍵式全站優(yōu)化插件:WPJAM-Basic

Sync QCloud COS WordPress云存儲插件

Wordpress On BAE針對百度云BAE修改的WordPress中文版

如何破解wordpress
恒訊科技介紹:虛擬主機托管WordPress的常見問答
如何三步實現(xiàn)高性能 WordPress 網(wǎng)站的部署

評論