網站訪問優化,未完待續

小雷FansUnion發表於2015-05-12
下午,網站被吐槽了,訪問太慢。
   最初,我以為是首頁的banner圖片,太大導致的,之前是500kb的高清圖。立即去看了下,banner大圖已經壓縮到50kb了。

   so,不是圖片的問題。

   用Chrome開啟網站,禁用快取,總體訪問情況:
272個請求,2.68MB,耗時5.56s(load:5.03s,DOMContentLoaded:2.45s) 

  先找出最大的3個檔案:
jquery.js 118kb ,伺服器本地,而且沒有壓縮,耗時2.12s
layout.css 55.8kb,伺服器本地,而且沒有壓縮,耗時1.58s
banner.jpg 53.2kb,伺服器本地,壓縮過的高清圖片

還有很多js,都花費了1~2s。

既然訪問這麼慢,必須去優化嘍。
先做2步:
1.jquery.js等公共js檔案,用網上免費的cdn。
http://www.bootcdn.cn/ 穩定、快速、免費的開源專案的CDN服務

使用之後,
耗時4.57s(load:4.03s,DOMContentLoaded:1.30s) 
節省了1s。
cdn版本的jquery大小38kb,載入需要100ms。

2.layout.css等本地js和css資源,壓縮部署。
4.25(load:4.03s,DOMContentLoaded:1.30s) 
壓縮之後,時間並沒有減少。
受伺服器的頻寬和響應速度,影響比較大。
(從網上下載的一個壓縮器,下載地址:
http://dd2.pc6.com/xc1/JsCssZip.zip
--------------------------------------------
在嘗試了前面2步之後,效果比較明顯的是第1步,jquery-cdn。

 在Chrome控制檯,Network進一步檢視,按照Time排序,又發現了一些問題:
1.piwik.js
   耗時2.12s
   piwik是一個開源的PHP統計工具,最初只使用了百度統計,後來想自己搞一套監測程式碼。
   哎,piwik統計和當前網站放在了同一個伺服器的Apache下,頻寬也是同一個,影響就比較大了。
  
2. p2p.jpg
  50kb左右的圖片,耗時大多在1.7s~1.8s之間。
  圖片這個問題,真心不是我的錯。
  官網首頁內容比較豐富,圖片50kb也不是太大。

  解決辦法:在不升級頻寬的情況下,要麼去掉piwik統計,捨不得呀,去掉了怎麼看統計資料。用百度統計,資料容易丟失,比如換了賬號或者出了點問題。
  少用圖片或者把圖片壓縮得更小,不現實呀。
  不但不想壓縮,還想用不壓縮的更清楚的圖片哩。
  以後還要增加更多的圖片,展示內容。
--------------------------------------------
看來,還是需要升級頻寬1MB到2MB

2.55(load:2.01s,DOMContentLoaded:630ms) 
升級頻寬的效果很明顯,首頁載入時間由4.25s到2.55s。
這也映證了前面的分析,頻寬確實是一個瓶頸。

另外,還發現一個問題,伺服器不夠穩定,應該是Apache的問題,有的時候,“一直等待伺服器響應”。
不出意外的話,應該是Apache沒有響應,難道是因為工作累了麼。

在本地訪問的時候,Apache也非常慢,這就不太對勁了。
現在突然懷疑是mysql資料庫的問題了。

mysql和伺服器上的apache以及本地的Apache都不在同一個機器上,而且自己手動安裝的mysql配置也很扎,不太懂mysql的效能優化等配置。難道又要花錢使用雲伺服器麼?

本來想的是,2個小時可以把訪問時間由5s壓縮到2s的,現在看來是不行了。

吃飽飯,繼續優化~   

相關文章