欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          nginx中如何優(yōu)化wordpress

          nginx中如何優(yōu)化wordpress

          Nginx下WordPress運(yùn)行緩慢的解決方法:

          wordpress運(yùn)行緩慢優(yōu)化的方法

          1. 減少插件的使用

          這是首要的一點(diǎn)。大部分人往往都沒(méi)足夠的代碼知識(shí),更不可能做到每個(gè)插件的代碼化,故大部分人都在用大量插件等。大部分的插件都會(huì)進(jìn)行數(shù)據(jù)查詢與生成,這在頁(yè)面生成過(guò)程中 將耗費(fèi)時(shí)間。如果剛好你的主機(jī)限制比較嚴(yán)格的話(為了均衡資源使用率),這個(gè)時(shí)間甚至?xí)兊帽容^長(zhǎng)。減少插件是非常必要的優(yōu)化手段之一

          2. 減少HTTP請(qǐng)求

          每一次對(duì)于JS,CSS等文件的訪問(wèn)都是一次HTTP請(qǐng)求。插件用得少,HTTP請(qǐng)求數(shù)自然就更少。速度自然快了

          WP在每一次的頁(yè)面訪問(wèn)時(shí),都會(huì)判斷插件的使用情況。讓W(xué)P做更少的判斷就等于做更少的數(shù)據(jù)查詢。解放它的負(fù)擔(dān)吧。

          3. 謹(jǐn)慎的選擇主題或手動(dòng)優(yōu)化

          許多主題雖然漂亮但在優(yōu)化方面做得并不算好,各種JS,各種CSS,各種背景圖片,各 種空行,各種冗余,這些都會(huì)影響到載入速度。不過(guò)這并不意味著不能選擇絢麗的主題,而是主題應(yīng)該要基本滿足以下要求,或者你手動(dòng)修改它使其滿足以下要求:

          合并CSS和JS:將多個(gè)CSS合并為1個(gè)。

          合并背景圖片:使用CSS Sprites將大部分的背景圖片合并為1個(gè)文件,同樣是減少HTTP請(qǐng)求,減少文件體積,加快渲染時(shí)間。

          減少數(shù)據(jù)查詢:能用HTML直接輸出的地方就不要搞個(gè)數(shù)據(jù)查詢。

          合理的JS和CSS位置:合理的將一些JS和CSS放置到網(wǎng)頁(yè)底部。

          優(yōu)化主題的背景圖片

          4. 減少外部資源的使用

          外部資源就是不在自己服務(wù)器上的資源。使用太多的外部資源會(huì)遇到以下問(wèn)題:

          解析DNS的時(shí)間變長(zhǎng)

          每一個(gè)域名都是需要DNS解析才能夠正常工作。如果網(wǎng)站上的內(nèi)容同時(shí)需要加載a.com,b.com,c.com,d.com這些網(wǎng)站的資源,那就 需要更多的時(shí)間去分別解析每個(gè)域名的DNS,建立連接。而同樣的,如果自己的站點(diǎn)是a.com,如果同時(shí)加載1.a.com,2.a.com這些類(lèi)似的域名,也同樣會(huì)加長(zhǎng)DNS解析時(shí)間。外部資源是不可能完全避免的,但能少則少。

          外部資源的加載速度不可控制

          這主要是針對(duì)一些國(guó)外站點(diǎn)的內(nèi)容而言,比如fickr,twitter等,因?yàn)楸娝苤脑?,加載它們的資源會(huì)明顯減慢載入速度。而國(guó)內(nèi)的站點(diǎn)相對(duì)來(lái)說(shuō)速度還算是比較快。

          5. 減少數(shù)據(jù)庫(kù)查詢,或使用數(shù)據(jù)庫(kù)緩存插件

          許多的插件都需要數(shù)據(jù)庫(kù)查詢,上面關(guān)于插件和主題的部分也提到了優(yōu)化代碼盡量減少數(shù)據(jù)庫(kù)的查詢次數(shù)。如果不懂,可以考慮使用數(shù)據(jù)庫(kù)緩存,它能夠?qū)?shù)據(jù)庫(kù)的查詢內(nèi)容緩存起來(lái)

          需要注意的是,數(shù)據(jù)庫(kù)緩存插件不要和靜態(tài)化緩存插件一起使用。因?yàn)閮烧叨际菙?shù)據(jù)緩存內(nèi)容減少查詢,如果一起用就等于重復(fù)勞動(dòng)。

          6, 使用頁(yè)面靜態(tài)化緩存插件

          靜態(tài)化緩存插件和數(shù)據(jù)庫(kù)緩存插件的原理差不多,都是將內(nèi)容提前整理好并生成靜態(tài)的文件,當(dāng)需要的時(shí)候直接拿出來(lái),而不需要再去查找、生成,浪費(fèi)時(shí)間。緩存過(guò)的靜態(tài)文件基本上可以等同于一張靜態(tài)圖片,不需要執(zhí)行太多復(fù)雜的內(nèi)容。

          還有一些其他優(yōu)化的方法等,使用GZIP壓縮網(wǎng)頁(yè)、優(yōu)化博客文章圖片、使用CDN分布式網(wǎng)絡(luò)加速靜態(tài)文件等。

          安裝wordpress插件檢查緩慢原因

          本站運(yùn)行一段時(shí)間后,每次訪問(wèn)首頁(yè)最多時(shí)候需要20秒鐘以后上, 訪問(wèn)一個(gè)單獨(dú)文章頁(yè)面也要10秒,簡(jiǎn)直不可接受,基本都要崩潰了, 最后下定決心徹底解決它。

          通過(guò)查閱大量資料, 參照前面一節(jié)的辦法對(duì)系統(tǒng)做了優(yōu)化。

          1. 首先屏蔽全部插件,發(fā)現(xiàn)系統(tǒng)問(wèn)題依然存在, 打開(kāi)首頁(yè)速度依然在10秒鐘左右

          2. 通過(guò)httpwatch檢查http請(qǐng)求情況,發(fā)現(xiàn)訪問(wèn)首頁(yè)中,獲取php頁(yè)面時(shí)間是9秒鐘, 打開(kāi)圖片、js、css等時(shí)間是2~3秒鐘左右, 因此不是http請(qǐng)求過(guò)多造成的。

          3. 打開(kāi)mysql數(shù)據(jù)庫(kù)的慢查詢,檢查數(shù)據(jù)庫(kù)的慢查詢情況,發(fā)現(xiàn)多數(shù)查詢都比較快,對(duì)一些查詢做了測(cè)試,速度非常快。因此數(shù)據(jù)庫(kù)因素也可以排除了。

          實(shí)在沒(méi)辦法了, 最后考慮找wordpress插件來(lái)研究一下在顯示首頁(yè)中都發(fā)生了那些內(nèi)容,然后看看那里占用時(shí)間最長(zhǎng), 然后有針對(duì)的慢慢優(yōu)化,只好這么干了。

          到了wordpress網(wǎng)站,搜索 debug插件, 搜索了很多,試用了很多,都不太符合自己的要求。最后發(fā)現(xiàn)了一個(gè)插件“Debug Queries”,按照wp的老習(xí)慣下載并且安裝,最后路下圖,點(diǎn)擊啟用按鈕開(kāi)啟插件。

          nginx中如何優(yōu)化wordpress

          安裝完成插件后,打開(kāi)網(wǎng)站首頁(yè),查看效果發(fā)現(xiàn)沒(méi)有任何變化

          最后打開(kāi)一個(gè)文章頁(yè)面,在文章頁(yè)面最下面發(fā)現(xiàn)了久久尋找的東西,路下圖:

          nginx中如何優(yōu)化wordpress

          圖中已經(jīng)用不同顏色的區(qū)域做了一些標(biāo)注

          紅色區(qū)域: time:0.000xxxx 查詢需要的時(shí)間

          綠色區(qū)域: Query: 查詢的sql語(yǔ)句

          Call from: require,xxx 調(diào)用順序等等

          然后下面是另外的調(diào)用。 頁(yè)面顯示了本次頁(yè)面顯示過(guò)程調(diào)用了那些函數(shù)以及調(diào)用過(guò)程,及需要的時(shí)間(數(shù)據(jù)庫(kù)的查詢時(shí)間,根據(jù)這個(gè)時(shí)間及總時(shí)間我們計(jì)算出php花費(fèi)的時(shí)間)

          最后頁(yè)面路下圖:

          nginx中如何優(yōu)化wordpress

          藍(lán)色部分:是本次訪問(wèn)數(shù)據(jù)查詢時(shí)間 匯總, 可以看到查詢共花費(fèi)了0.24秒, 發(fā)生了83次查詢(這個(gè)也說(shuō)明wp插件帶來(lái)性能的問(wèn)題,只是目前系統(tǒng)中數(shù)據(jù)量較少,還不至于影響系統(tǒng)的性能)

          綠色部分:是本次用戶訪問(wèn)過(guò)程中總體時(shí)間的匯總,這里統(tǒng)計(jì)的應(yīng)該是包括了php的總體時(shí)間。

          紅色部分:是本次訪問(wèn)的總時(shí)間

          紫色部分: 本次訪問(wèn)中花費(fèi)在php程序中消耗的百分比。97.5%

          黃色部分:是本次訪問(wèn)中花費(fèi)在MySQL數(shù)據(jù)庫(kù)上時(shí)間的百分比 2.5%

          從上面數(shù)據(jù)中我們可以看到, 一次10秒鐘的用戶訪問(wèn)中, mysql花費(fèi)時(shí)間僅僅占用了2.5%因此可以肯定這次10秒鐘的訪問(wèn)問(wèn)題出在mysql以外的環(huán)節(jié)上, 主要應(yīng)該是php的問(wèn)題。

          重新啟動(dòng)php進(jìn)程解決緩慢問(wèn)題

          從上面部門(mén)的分析中我們已經(jīng)可以了解到問(wèn)題很可能出在php上面,排查php問(wèn)題,不是我的專(zhuān)長(zhǎng),因此決定重新啟動(dòng)php進(jìn)程看一下效果。

          1. 查找php進(jìn)程

          輸入 su – 命令, 切換端到root帳號(hào)下

          在輸入: ps -ef | grep php 命令,查看php進(jìn)程,如下

          nginx中如何優(yōu)化wordpress

          從圖中我們可以了解到php進(jìn)程id 是 26765, 進(jìn)程名稱php-fpm(這個(gè)是nginx需要的php程序)。

          2. 查找php進(jìn)程的啟動(dòng)路徑

          輸入如下命令 lsof -p 8584(這里的8584是在進(jìn)行問(wèn)題解決時(shí)php進(jìn)程的id,上面26765還是最近寫(xiě)文章是查找的進(jìn)程的id)

          nginx中如何優(yōu)化wordpress

          3. 關(guān)閉進(jìn)程

          kill -9 8584 關(guān)閉老的php進(jìn)程

          有的時(shí)候php開(kāi)辟了很多進(jìn)程, 不好關(guān)閉,可以采用下面的辦法進(jìn)行

          killall php-fpm (本站就是采用這個(gè)辦法進(jìn)行的)

          4. 重新啟動(dòng)php進(jìn)程

          輸入如下命令

          /usr/sbin/php-fpm 重新啟動(dòng)進(jìn)程

          更多wordpress相關(guān)技術(shù)文章,請(qǐng)?jiān)L問(wèn)wordpress教程欄目進(jìn)行學(xué)習(xí)!

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)