封神陵里,句芒對剛拿到射日弓的云天河說“今日始,后羿射日弓尊你為主,力量揮放多寡,決于主人!” wordpress也一樣,跑不跑得快,決于主人。今天從框架層來聊聊wordpress博客的提速優(yōu)化。
Nginx的優(yōu)化
如今有很多HTTP server軟件可供選擇,每一款都有其優(yōu)缺點(diǎn),目前最為流行的兩款當(dāng)數(shù)Nginx和Apache了。如果說Apache是阿帕奇的話,Nginx就是su37了(當(dāng)然不是電影絕密飛行里面被無人機(jī)EDI秒殺的su37),阿帕奇的機(jī)動性能跟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)建一條單獨(dú)的BS鏈接的模式)來說,Keep-alive技術(shù)有著大幅度的性能提升。下面是Keep-alive技術(shù)的優(yōu)點(diǎn)。
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)缺點(diǎn),MySQL從5.5版本開始使用InnoDB作為默認(rèn)存儲引擎。這說明InnoDB比MyISAM要好嗎?其實不然,術(shù)業(yè)有專攻而已。
我們先來看看MyISAM的優(yōu)點(diǎn):
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)系不大。
而且還有一點(diǎn)MyISAM備份數(shù)據(jù)庫,恢復(fù)數(shù)據(jù)庫、或者恢復(fù)單個數(shù)據(jù)表都非常方便,直接操作文件.MYD文件就行了。再有一點(diǎn)就是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的性能提升可不止一星半點(diǎn),所以先升級到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瀏覽量
26800 -
MySQL
+關(guān)注
關(guān)注
1文章
830瀏覽量
26758 -
nginx
+關(guān)注
關(guān)注
0文章
154瀏覽量
12239 -
wordpress
+關(guān)注
關(guān)注
0文章
35瀏覽量
2888
原文標(biāo)題:網(wǎng)站提速之WordPress篇
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
介紹一種基于FIFO結(jié)構(gòu)的優(yōu)化端點(diǎn)設(shè)計方案
介紹MCU串口發(fā)送數(shù)據(jù)的優(yōu)化
如何開啟WordPress調(diào)試模式(報錯提示)?
vps搭建wordpress網(wǎng)站的3個步驟介紹
WordPress 一鍵式全站優(yōu)化插件:WPJAM-Basic
![<b class='flag-5'>WordPress</b> 一鍵式全站<b class='flag-5'>優(yōu)化</b>插件:WPJAM-Basic](https://file.elecfans.com//web2/M00/12/B0/poYBAGEspJWAc-_QAAQOF41R58U768.png)
Sync QCloud COS WordPress云存儲插件
![Sync QCloud COS <b class='flag-5'>WordPress</b>云存儲插件](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Wordpress On BAE針對百度云BAE修改的WordPress中文版
![<b class='flag-5'>Wordpress</b> On BAE針對百度云BAE修改的<b class='flag-5'>WordPress</b>中文版](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何破解wordpress
恒訊科技介紹:虛擬主機(jī)托管WordPress的常見問答
如何三步實現(xiàn)高性能 WordPress 網(wǎng)站的部署
![如何三步實現(xiàn)高性能 <b class='flag-5'>WordPress</b> 網(wǎng)站的部署](https://file1.elecfans.com//web2/M00/94/58/wKgZomTkudSAF27aAADcV7N8ubQ941.png)
評論