2021-09-17 分類: 網(wǎng)站建設(shè)
在前一篇隨筆大型網(wǎng)站系統(tǒng)架構(gòu)的演化中,介紹了大型網(wǎng)站的演化過程,期間穿插了一些技術(shù)和手段,我們可以從中看出一個大型網(wǎng)站的輪廓,但想要掌握設(shè)計開發(fā)維護(hù)大型網(wǎng)站的技術(shù),需要我們一步一步去研究實踐。所以我打算寫一個系列,從理論到實踐講述大型網(wǎng)站的點滴,這也是一個共同學(xué)習(xí)的過程,希望自己能堅持下去。系列大概會分為兩部分,理論和實踐,理論部分盡量通俗易懂,也要講一些細(xì)節(jié)。實踐部分會抽取一些技術(shù)做實踐,將方法、解決問題過程分享出來。本文將講述大型網(wǎng)站中一個重要的要素,性能。什么是性能有人說性能就是訪問速度快慢,這是最直觀的說法,也是用戶的真實體驗。一個用戶從輸入網(wǎng)址到按下回車鍵,看到網(wǎng)頁的快慢,這就是性能。對于我們來說,需要去挖掘這個過程,因為這決定我們怎么去做性能優(yōu)化。這中間發(fā)生了什么
1、第一段在用戶和瀏覽器端,主要負(fù)責(zé)發(fā)出用戶請求,以及接受響應(yīng)數(shù)據(jù)進(jìn)行計算渲染顯示給用戶;
2、第二段在網(wǎng)絡(luò)上,負(fù)責(zé)對請求數(shù)據(jù)、響應(yīng)數(shù)據(jù)的傳輸;
3、第三段在網(wǎng)站服務(wù)器端,負(fù)責(zé)對請求數(shù)據(jù)進(jìn)行處理(執(zhí)行程序、訪問數(shù)據(jù)庫、文件等),并將結(jié)果返回;
第一路徑
第一路徑花費的時間包括輸入域名發(fā)起請求的時間和瀏覽器收到響應(yīng)后計算渲染的時間。輸入域名發(fā)起請求,實質(zhì)過程是:
1、用戶在瀏覽器輸入要訪問的網(wǎng)站域名;
2、本地DNS請求網(wǎng)站授權(quán)的DNS服務(wù)器對域名進(jìn)行解析,并得到解析結(jié)果即IP地址(并將IP地址緩存起來)。
3、向目標(biāo)IP地址發(fā)出請求。
從這個過程我們可以看到,優(yōu)化的地方主要是減少DNS解析次數(shù),而如果用戶瀏覽器設(shè)置了緩存,則再第二次訪問相同域名的時候就不會去請求DNS服務(wù)器,直接用緩存中的IP地址發(fā)出請求。因此這個過程主要取決于瀏覽器的設(shè)置。現(xiàn)在主流的瀏覽器默認(rèn)設(shè)置了DNS的預(yù)取功能(DNSPrefetch),當(dāng)然你也可以主動告知瀏覽器我的網(wǎng)站需要做DNS預(yù)取:瀏覽器將數(shù)據(jù)進(jìn)行計算渲染的過程:
1、瀏覽器解析響應(yīng)數(shù)據(jù);
2、瀏覽器創(chuàng)建DOM樹;
3、瀏覽器下載CSS樣式,并應(yīng)用到DOM樹,進(jìn)行渲染;
4、瀏覽器下載JS文件,開始解析執(zhí)行;
5、顯示給用戶。
從這個過程,我們可以找出不少可以優(yōu)化的地方。首先我們可以盡量控制頁面大小,使得瀏覽器解析的時間更短;并且將多個CSS文件、JS文件文件合并壓縮減少文件下載的次數(shù)和大小;另外注意將CSS放在頁面前面,JS訪問頁面后面,這樣便于頁面首先能渲染出來,再執(zhí)行js腳本,對于用戶來說有更好的體驗。最后我還可以設(shè)置瀏覽器緩存,下次訪問時從緩存讀取內(nèi)容,減少http請求。
網(wǎng)站題目:大型網(wǎng)站的靈魂:性能
網(wǎng)頁URL:http://muchs.cn/news29/127129.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、網(wǎng)站設(shè)計公司、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容