網站訪問優化,未完待續
下午,網站被吐槽了,訪問太慢。
最初,我以為是首頁的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的,現在看來是不行了。
吃飽飯,繼續優化~
最初,我以為是首頁的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的,現在看來是不行了。
吃飽飯,繼續優化~
相關文章
- 優秀學習網站,未完待續,猛戳........學習網站
- 排序【未完待續】排序
- 在docker中做php優化的發現(未完待續)DockerPHP優化
- JAVA面試題(未完待續)Java面試題
- HashMap原始碼分析,未完待續HashMap原始碼
- docker rancher 體驗 (未完待續.....)Docker
- Oracle 面試題目 (未完待續)Oracle面試題
- iOS 本地通知(未完待續)iOS
- Java API 彙總(未完待續)JavaAPI
- SOLID總結(未完待續)Solid
- 搜尋全家桶(未完待續)
- Charles日常使用中的問題總結,未完待續……
- git安裝與使用,未完待續... ...Git
- NOIP水題合集[3/未完待續]
- Runtime 執行時(未完待續)
- MySQL show 命令使用大全 未完待續MySql
- Java技術小結(未完待續)Java
- 常用揹包dp模板(未完待續)
- Linux系統安全與優化配置(未完成待續,敬請關注)Linux優化
- 提高網站訪問效能之Tomcat優化網站Tomcat優化
- 字串匹配演算法【未完待續】字串匹配演算法
- Shell 入門系列: 導航 (未完待續)
- 前端學習整理資料(未完待續)前端
- Go的一些特性 未完待續Go
- Redis的常用命令——未完待續Redis
- GDI+學習筆記--未完待續筆記
- 小程式學習筆記(未完待續)筆記
- SQL Server大小寫 總結 --未完待續SQLServer
- 函式基本定義和使用‘未完待續函式
- 提升網站訪問速度的 SQL 查詢優化技巧網站SQL優化
- Java Bean Annotation Constraint Validation 未完待續JavaBeanAI
- 啟用 Redis 快取優化您的網站訪問速度Redis快取優化網站
- 使用公用表表示式(CTE)WITH AS提高sql效能,with as【未完待續】SQL
- 第一週作業Linux基礎(未完待續,週日繼續)Linux
- 網站訪問優化(二):開啟apache伺服器gzip壓縮網站優化Apache伺服器
- Zero shot Learning 論文學習筆記(未完待續)筆記
- USACO(含training section)水題合集[5/未完待續]AI
- 總結Oracle程式來調劑一下,未完,待續Oracle