成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

大型網站建設的靈魂--性能

2021-01-11    分類: 網站建設

什么是性能
有人說性能就是訪問速度快慢,這是最直觀的說法,也是用戶的真實體驗。一個用戶從輸入網址到按下回車鍵,看到網頁的快慢,這就是性能。對于我們來說,需要去挖掘這個過程,因為這決定我們怎么去做性能優(yōu)化。
這中間發(fā)生了什么?
用戶訪問網站的整個流程:用戶輸入網站域名,通過DNS解析,找到目標服務器IP,請求數據經互聯(lián)網達到目標服務器,目標服務器收到請求數據,進行處理(執(zhí)行程序、訪問數據庫、文件服務器等)。處理完成,將響應數據又經互聯(lián)網返回給用戶瀏覽器,瀏覽器得到結果進行計算渲染顯示給用戶。
我們把整個過程,分為三段路徑:
1、第一段在用戶和瀏覽器端,主要負責發(fā)出用戶請求,以及接受響應數據進行計算渲染顯示給用戶;
2、第二段在網絡上,負責對請求數據、響應數據的傳輸;
3、第三段在網站服務器端,負責對請求數據進行處理(執(zhí)行程序、訪問數據庫、文件等),并將結果返回;
第一路徑
第一路徑花費的時間包括輸入域名發(fā)起請求的時間和瀏覽器收到響應后計算渲染的時間。
輸入域名發(fā)起請求,實質過程是:
1、用戶在瀏覽器輸入要訪問的網站域名;
2、本地DNS請求網站授權的DNS服務器對域名進行解析,并得到解析結果即IP地址(并將IP地址緩存起來)。
3、向目標IP地址發(fā)出請求。
從這個過程我們可以看到,優(yōu)化的地方主要是減少DNS解析次數,而如果用戶瀏覽器設置了緩存,則再第二次訪問相同域名的時候就不會去請求DNS服務器,直接用緩存中的IP地址發(fā)出請求。因此這個過程主要取決于瀏覽器的設置?,F在主流的瀏覽器默認設置了DNS的預取功能(DNS Prefetch),當然你也可以主動告知瀏覽器我的網站需要做DNS預取:
瀏覽器將數據進行計算渲染的過程:
1、瀏覽器解析響應數據;
2、瀏覽器創(chuàng)建DOM樹;
3、瀏覽器下載CSS樣式,并應用到DOM樹,進行渲染;
4、瀏覽器下載JS文件,開始解析執(zhí)行;
5、顯示給用戶。
從這個過程,我們可以找出不少可以優(yōu)化的地方。首先我們可以盡量控制頁面大小,使得瀏覽器解析的時間更短;并且將多個CSS文件、JS文件文件合并壓縮減少文件下載的次數和大?。涣硗庾⒁鈱SS放在頁面前面,JS訪問頁面后面,這樣便于頁面首先能渲染出來,再執(zhí)行js腳本,對于用戶來說有更好的體驗。最后我還可以設置瀏覽器緩存,下次訪問時從緩存讀取內容,減少http請求。
該代碼說明了瀏覽器啟用了緩存并在5秒內不會再次訪問服務器。注意緩存的設置需要結合你的業(yè)務特性來適當配置。

第二路徑
第二路徑在網絡上,花費的時間同樣包括請求數據的傳輸時間和響應數據的傳輸時間,這個兩個時間取決于數據傳輸的速度,這里我們要講一個名詞"帶寬"。什么是帶寬,我們經常說帶寬10M,20M是什么意思?我的帶寬20M,這意味著什么?
我們知道帶寬速度分為上行、下行速度,也就是上傳和下載的速度。帶寬20M對于用戶來說則是下載速度20M(20×1024×1024比特率),換算成字節(jié)20M/8=2.5M。也就是說20M的帶寬下載速度理論可達2.5M/s,而對于家庭用戶而言上傳速度一般比下載速度小的多,大約是不到十分之一。而對于網站服務器(企業(yè)用戶)來說,則不然,一般上行速度等于下載速度。這也是運營商根據實際需求分配的,畢竟用戶的主要需求是下載數據,而不是上傳數據。
整個流程從傳輸方式看就是:用戶發(fā)送請求數據(上傳),網站服務器接受請求數據(下載),網站服務器返回響應數據(上傳),用戶接受響應數據(下載)。對于用戶來說,上傳數據是很小的(Url參數),而下載數據是較大的(響應數據);對于服務器來說,下載數據是很小的(url參數),上傳數據是較大(響應數據)。
理解了這個,我們可以解釋為什么有時用戶反映為什么自己的帶寬足夠,但打開某些網站仍然很慢,就是因為盡管用戶的下載速度很快,但網站服務器的上傳速度很慢,這就像一個抽水管和一個出水管,不管抽水管再大,但出水管很小,同樣抽到的水量是有限的。
了解了這個原理我們來看怎么提高數據傳輸的速度,首先用戶的上傳、下載速度我們是無法決定的,我們能決定的是網站服務器的上傳、下載速度,所以我們可以做的是適當的增加服務器帶寬(帶寬是很貴的,盲目的增加只會增加不必要成本)。購買合適的帶寬需要根據網站業(yè)務特性、規(guī)模以及結合運維人員的經驗來選擇。通??梢钥紤]的算法,即根據一次響應數據的大小,乘以PV數,除以對應的高峰時間段,從而大致估算出網站帶寬的需求。
針對這種情況,我們可以采取以下方法來優(yōu)化:
1、在各運營商發(fā)達的地區(qū)的IDC(互聯(lián)網數據中心,可以理解成機房)部署網站服務器,各運營商的用戶即可通過各自的骨干網訪問服務器。
2、購買代理服務,也就是原來聯(lián)通用戶需要通過聯(lián)通骨干網——>聯(lián)通互聯(lián)互通路由器——>電信骨干網——>網站服務器的過程。通過代理服務,代理服務器直連到電信骨干網,訪問網站服務器。
3、在主要地區(qū)城市購買CDN服務,緩存對應的數據,用戶可先從最近的CDN運營商獲取請求數據。
第三路徑
第三路徑主要是網站服務器內部處理的過程,當中包括執(zhí)行程序、訪問文件、數據庫等資源。
這是對于我們來說最可以發(fā)揮的地方:
1、使用緩存,根據需要使用本地緩存或分布式緩存;
2、使用異步操作,這種方式不僅可以提高性能,也提高了系統(tǒng)的擴展性;
3、代碼優(yōu)化;
4、存儲優(yōu)化;

本文題目:大型網站建設的靈魂--性能
網站URL:http://jinyejixie.com/news41/96741.html

網站建設、網絡推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作
收藏| 二连浩特市| 虎林市| 石家庄市| 昆明市| 墨玉县| 大同县| 运城市| 禹州市| 德清县| 东丽区| 昆明市| 昆明市| 平阳县| 阜新| 桂阳县| 临澧县| 靖安县| 灯塔市| 汽车| 仪陇县| 乌兰察布市| 垣曲县| 南安市| 城固县| 和林格尔县| 乳源| 永和县| 卫辉市| 阿克| 福州市| 德江县| 青龙| 镇原县| 镇赉县| 左云县| 神池县| 视频| 崇州市| 万州区| 南乐县|