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