在前一篇隨筆
大型網站建設的系統架構的演化中,介紹了大型網站的演化過程,期間穿插了一些技術和手段,我們可以從中看出一個大型網站的輪廓,但想要掌握設計開發維護大型網站的技術,需要我們一步一步去研究實踐。所以我打算寫一個系列,從理論到實踐講述大型
網站建設的點滴,這也是一個共同學習的過程,希望自己能堅持下去。系列大概會分為兩部分,理論和實踐,理論部分盡量通俗易懂,也要講一些細節。實踐部分會抽取一些技術做實踐,將方法、解決問題過程分享出來。本文將講述大型網站建設中一個重要的要素,性能。
什么是性能
有人說性能就是訪問速度快慢,這是最直觀的說法,也是用戶的真實體驗。一個用戶從輸入網址到按下回車鍵,看到網頁的快慢,這就是性能。對于我們來說,需要去挖掘這個過程,因為這決定我們怎么去做性能優化。
這中間發生了什么?
用戶訪問網站的整個流程:用戶輸入網站域名,通過DNS解析,找到目標服務器IP,請求數據經互聯網達到目標服務器,目標服務器收到請求數據,進行處理(執行程序、訪問數據庫、文件服務器等)。處理完成,將響應數據又經互聯網返回給用戶瀏覽器,瀏覽器得到結果進行計算渲染顯示給用戶。
我們把整個過程,分為三段路徑:
1、第一段在用戶和瀏覽器端,主要負責發出用戶請求,以及接受響應數據進行計算渲染顯示給用戶;
2、第二段在網絡上,負責對請求數據、響應數據的傳輸;
3、第三段在網站服務器端,負責對請求數據進行處理(執行程序、訪問數據庫、文件等),并將結果返回;
第一路徑
第一路徑花費的時間包括輸入域名發起請求的時間和瀏覽器收到響應后計算渲染的時間。
輸入域名發起請求,實質過程是:
1、用戶在瀏覽器輸入要訪問的網站域名;
2、本地DNS請求網站授權的DNS服務器對域名進行解析,并得到解析結果即IP地址(并將IP地址緩存起來)。
3、向目標IP地址發出請求。
從這個過程我們可以看到,優化的地方主要是減少DNS解析次數,而如果用戶瀏覽器設置了緩存,則再第二次訪問相同域名的時候就不會去請求DNS服務器,直接用緩存中的IP地址發出請求。因此這個過程主要取決于瀏覽器的設置。現在主流的瀏覽器默認設置了DNS的預取功能(DNS Prefetch),當然你也可以主動告知瀏覽器我的網站需要做DNS預取:
瀏覽器將數據進行計算渲染的過程:
1、瀏覽器解析響應數據;
2、瀏覽器創建DOM樹;
3、瀏覽器下載CSS樣式,并應用到DOM樹,進行渲染;
4、瀏覽器下載JS文件,開始解析執行;
5、顯示給用戶。
從這個過程,我們可以找出不少可以優化的地方。首先我們可以盡量控制頁面大小,使得瀏覽器解析的時間更短;并且將多個CSS文件、JS文件文件合并壓縮減少文件下載的次數和大小;另外注意將CSS放在頁面前面,JS訪問頁面后面,這樣便于頁面首先能渲染出來,再執行js腳本,對于用戶來說有更好的體驗。最后我還可以設置瀏覽器緩存,下次訪問時從緩存讀取內容,減少http請求。
名稱欄目:南充網站建設大型網站建設的靈魂:性能
文章地址:http://m.newbst.com/news/96718.html
網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有網站建設等
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯