诸暨汉妇网络科技有限公司

電腦技術網(wǎng) - 從此開始了解電腦、科技、手機、智能硬件、網(wǎng)絡相關的各項適用知識!

電腦技術網(wǎng)_it資訊_游戲攻略_手機教程_電腦教程_無線路由器設置_設置無線路由器_辦公軟件教程_電腦系統(tǒng)安裝_電腦維修知識

基于PhantomJS的校園網(wǎng)質量分析及優(yōu)化

欄目:安全資訊
已被:人瀏覽過
本文主要介紹:對于互聯(lián)網(wǎng)建設來說,提升終端用戶的訪問質量是重要目標。根據(jù)國際通用的寬帶網(wǎng)速衡量標準,反映寬帶網(wǎng)絡速率及接入質量的指標主要有兩種: 一是網(wǎng)絡接入速率,即運營商與用戶合同約

對于互聯(lián)網(wǎng)建設來說,提升終端用戶的訪問質量是重要目標。根據(jù)國際通用的寬帶網(wǎng)速衡量標準,反映寬帶網(wǎng)絡速率及接入質量的指標主要有兩種:

  一是網(wǎng)絡接入速率,即運營商與用戶合同約定的,從用戶終端到運營商網(wǎng)絡接入設備的可使用的最高速率,比如我們通常所說的運營商提供的20Mbps、50Mbps寬帶,主要反映的是寬帶網(wǎng)絡運營企業(yè)為用戶提供的網(wǎng)絡能力。

  二是用戶實際體驗速率,是指用戶從互聯(lián)網(wǎng)上下載文件,訪問互聯(lián)網(wǎng)視頻、購物等各類應用時實際感受到的速率,主要反映了用戶訪問網(wǎng)絡應用“端到端”的實際體驗。

  包括中間網(wǎng)絡、國際互聯(lián)網(wǎng)出入口帶寬、被訪問網(wǎng)站的服務能力、網(wǎng)絡忙閑時、用戶上網(wǎng)行為及用戶使用的智能終端等在內的多種因素會影響用戶實際體驗速率。

  對于高校校園網(wǎng)絡,在訪問外網(wǎng)時同樣存在著提升用戶體驗的需求。如何合理利用現(xiàn)有資源,最大限度地為廣大師生提供優(yōu)良的上網(wǎng)體驗,是目前迫切需要解決的問題。目前上海交通大學校園網(wǎng)出口除教育網(wǎng)外,還存在多家運營商線路,其帶寬和利用率各不相同。為了提升學校校園網(wǎng)內部訪問外網(wǎng)質量,基于師生通過校園網(wǎng)訪問的最常用網(wǎng)站,我們利用 PhantomJS 自動測試腳本做了大量訪問測試,通過分析收集到的數(shù)據(jù),找到網(wǎng)絡延時過長的原因,并針對性的實施改進措施,減少校園網(wǎng)訪問外網(wǎng)的延時,提升廣大師生訪問外網(wǎng)的體驗。

  測試方法

  測試腳本采用 Phantom JS 編寫。Phantom JS 是一個基于WebKit的服務器端JavaScript API。它全面支持Web而無需瀏覽器支持,原生支持各種Web標準:DOM處理,CSS選擇器,JSON,Canvas,和SVG。它非常適合于頁面自動化,網(wǎng)絡監(jiān)測,網(wǎng)頁截屏,以及無界面測試等。本次測試腳本的主要部分如下:

  var page = require('webpage').create(), system = require('system'),
  t, address;
  t = Date.now();
  address = system.args[1]; page.open(address, function(status) {
  if (status !== 'success') { console.log('-1');
  } else {
  t = Date.now() - t; console.log(t);
  }
  phantom.exit();
  });

  首先選定待測試目標網(wǎng)站。我們以校園網(wǎng)內用戶經(jīng)常訪問的TOP1000網(wǎng)址作為測試對象,比如TOP5網(wǎng)址如下: 203.107.1.1,msg.71.am,hq.sinajs.cn,wx.qlogo.cn,#。這些都是網(wǎng)頁的子URL,通常是網(wǎng)頁的一個框架或者一個子頁面等。對他們的訪問所需時間比完整的頁面要少,因而能更加準確地反映網(wǎng)絡訪問延時,便于作為分析研究的數(shù)據(jù)源。

  測試分成兩個部分:有線網(wǎng)和無線網(wǎng)來完成。有線網(wǎng)機器配置成正常的用戶IP地址和DNS,利用上述測試腳本訪問TOP1000網(wǎng)址。上交大無線網(wǎng)出口路由分為兩個部分:教育網(wǎng)和電信網(wǎng),所以無線網(wǎng)測試分成兩部分來完成。

  具體的測試方法是在每天上網(wǎng)高峰期上午八時,中午十二時,晚上六時,依次訪問上述排名前一千位的網(wǎng)站,連續(xù)測試十天以上。在測試期間遇到過一些異常問題,包括:測試腳本無反應,等待時間太長;訪問時間不規(guī)則,時長時短等。針對這些異常,采用的方法包括:如果一分鐘還沒有返回,則認為該網(wǎng)站不通,測試結果無效,此次對該地址的測試直接結束;連續(xù)測試十次,首先去掉無效的結果,一次兩次有效結果直接計算,三次有效以上再去掉最大和最小值,剩下的有效值取平均值;如果開始連續(xù)三次都timeout,則不繼續(xù)測試該站點,以免浪費時間。通過這些措施,保證每次測試能夠在2小時左右的可控制時間內有效完成,并符合一般用戶上網(wǎng)行為。

  測試數(shù)據(jù)

  用上述方法得到近30萬條測試數(shù)據(jù)后,首先對這些數(shù)據(jù)進行總體宏觀上的分析。取連續(xù)十天的數(shù)據(jù)平均值進行比較。以有線網(wǎng)數(shù)據(jù)為例,共829個網(wǎng)址能夠成功訪問,占83%,另外171個網(wǎng)站無法訪問,占17%。經(jīng)過分析,這171個網(wǎng)址訪問失敗主要有下述原因:

  1.某些網(wǎng)址訪問需要特殊格式,不滿足則http返回400錯誤,包括如下地址:

  TOP排名第三:-hq.sinajs.cn和TOP排名第四:-wx.qlogo.cn

  2.某些網(wǎng)址需要通過認證才能訪問,不滿足則http返回403錯誤,包括如下地址:

  TOP排名第二十九:-p3.music.126.net和TOP排名第三十:-beacon.sina.com.cn

  3.部分子域名需要從主域名訪問,如:

  TOP排名十三:-api.bilibili.com和TOP排名十五:-data.bilibili.com都需要從www.bilibili.com訪問。

  對于成功訪問的829個網(wǎng)址,通過圖1查看各個延時時間段內網(wǎng)址的個數(shù)(橫坐標表示各個訪問延時的區(qū)間,縱坐標表示落在各個區(qū)間的網(wǎng)址個數(shù)),可以看出,部分網(wǎng)址訪問情況理想,部分網(wǎng)址訪問延時較大。延遲較大的需要重點分析并予以優(yōu)化。

圖1 各類訪問延時分布

  通過圖2可以清晰地比較各個訪問延時的總體情況(橫坐標對應可成功訪問的829個網(wǎng)址,按照訪問頻度排名高低從左到右排列,縱坐標表示各個網(wǎng)址對應的訪問延時,單位毫秒)。為了便于觀察,對于訪問延遲大于一萬毫秒的統(tǒng)一按照一萬毫秒來標記。


圖2 訪問延時總體分布

  通過圖1、2數(shù)據(jù),表示訪問頻率較高的網(wǎng)址延時比較大,這部分地址將是優(yōu)化的主要目標。

  圖3是無線網(wǎng)絡部分通過電信網(wǎng)和通過教育網(wǎng)訪問829個網(wǎng)址的數(shù)據(jù)對比。

圖3 無線網(wǎng)測試數(shù)據(jù)對比

  從圖3中可以看出,無線網(wǎng)訪問外網(wǎng)延時總體分布同有線網(wǎng)類似,但是整體訪問質量要略遜色于有線網(wǎng),這屬于無線接入端引入的延時,比如射頻干擾引起的延遲。同時比較電信和教育網(wǎng)出口訪問延時情況,可以看到電信網(wǎng)出口無論是可訪問網(wǎng)址個數(shù),還是延時都要優(yōu)于教育網(wǎng)出口。這是因為上交大電信網(wǎng)出口帶寬利用率不高,相對于教育網(wǎng)比較空閑(目前教育網(wǎng)帶寬峰值利用率在95%以上),從另一個側面表明教育網(wǎng)帶寬需要進一步升級。

  延時原因分析

  為了解決訪問延時較大的問題,我們從上述測試結果中挑選訪問頻率較高的網(wǎng)址(包括延時較小和延時較大等各種類型)作重點比較分析,通過比較各個網(wǎng)址訪問的詳細過程,探究訪問延時大、用戶體驗差的可能原因。下面列舉出幾個典型樣例:

  1.部分網(wǎng)址訪問狀況良好,穩(wěn)定訪問時間在100ms以內。以排名第二的網(wǎng)址msg.71.am為例,連續(xù)三天的測試結果如圖4所示。(橫坐標表示時間,縱坐標表示延時,單位毫秒,以下同)。

圖4 msg.71.am 訪問數(shù)據(jù)對比

  該網(wǎng)址IP地址解析在山東濟南移動,訪問延時低而且穩(wěn)定,無需優(yōu)化。

  2.部分網(wǎng)址訪問延時不穩(wěn)定,有時候很小,有時候很大甚至不通。以排名第十六的網(wǎng)址dl.360safe.com為例,連續(xù)三天的測試結果如圖5。

圖5 dl.360safe.com 訪問數(shù)據(jù)對比

  該地址早上訪問延時較小,但是到了中午后延時很大,非常有規(guī)律。經(jīng)過觀察,訪問快的時候CDN調度使得域名解析到101.4.60網(wǎng)段(位于教育網(wǎng)北京);而下午CDN調度會將域名解析到104.192.108網(wǎng)段(位于美國洛杉磯),導致速度變慢,用戶體驗變差。

  3.部分網(wǎng)址訪問延時一直很大。以排名第68位的網(wǎng)址www.bilibili.com和第51位blog.sina.com.cn為例,連續(xù)三天的測試結果如圖6所示。

圖6 www.bilibili.com和blog.sina.com.cn訪問數(shù)據(jù)對比

  其中www.bilibili.com訪問延時一直較大,ping報文延時也達到200ms左右。經(jīng)過分析,訪問域名大多解析到47.88.107網(wǎng)段(位于美國加利福利亞州),也有時候解析到120.41.32網(wǎng)段(位于福建電信)。同時blog.sina.com.cn的http訪問延時也一直較大;單ping報文延時很小,只有20多毫秒。訪問域名有時解析到202.205.3網(wǎng)段(位于北京清華大學),也有時解析到218.30.115網(wǎng)段(位于北京電信)。經(jīng)過分析,http延時大的原因應為服務器訪問量太大。

  經(jīng)過上述一系列測試和分析,可以看出Web訪問瓶頸不在教育網(wǎng)內部,國外網(wǎng)站訪問延時相對國內網(wǎng)站普遍偏大。所以,國際訪問流量將是我們優(yōu)化網(wǎng)絡訪問的另一個重點。其次,教育網(wǎng)及各個運營商不同的DNS解析策略也在很大程度上影響訪問延時,校內用戶統(tǒng)一DNS解析很重要。

  改進措施

  通過上述測試數(shù)據(jù)比較和分析,針對影響訪問質量的原因,總結出下述具體改進措施:

  1.選擇最快的運營商國際線路

  訪問同一國外網(wǎng)站,教育網(wǎng)和各家運營商的國際出口有快有慢??焖僭L問的關鍵,是正確選擇最快的運營商線路。通過在多家運營商線路校園網(wǎng)側部署探針系統(tǒng)進行多網(wǎng)訪問測試,并對測試結果進行比較,進而找出最快的線路。

  另外,各家運營商國際出口各具優(yōu)勢,要快速訪問所有的網(wǎng)站,只靠一家運營商線路無法實現(xiàn),需要接入多運營商帶寬,做國際出口組合。

  2.實施網(wǎng)絡出口流量控制策略

  接入多線帶寬后,還要使用專用流控設備,把訪問目標網(wǎng)站的流量切到最快的出口線路上。網(wǎng)絡流量不會自動走最快的運營商線路。通過使用流控設備進行管控,才能讓訪問目標網(wǎng)站的流量走最快、最穩(wěn)定的線路。

  3.部署內網(wǎng)緩存系統(tǒng)

  把最常訪問的數(shù)據(jù)(網(wǎng)頁、圖片、視頻等)緩存到本地,用戶可直接從本地緩存服務器中訪問,大大加快訪問速度,同時節(jié)省出口帶寬。

  4.貼身部署DNS,大大提高DNS響應速度,同時拒絕解析無法訪問的域名

  為用戶貼身部署DNS,減少由于配置了非校園網(wǎng)DNS服務器引入的網(wǎng)絡訪問延時。部分國外域名對應IP長期無法訪問,而大量國外網(wǎng)站引用了其上的JavaScript資源或API等,造成網(wǎng)頁整體加載緩慢??紤]到這些域名本身已不可達,因此在校園網(wǎng)DNS服務器上主動拒絕這些域名的解析,可避免用戶獲得并嘗試連接無法連通的IP地址,從而有效提升網(wǎng)站訪問速度。

  5.持續(xù)調優(yōu)

  各運營商的國際互聯(lián)網(wǎng)出口,以及校內的各種不同類型的訪問流量都不是一成不變的,所以想一勞永逸地實現(xiàn)最優(yōu)化的國際流量訪問比較困難,需要定期根據(jù)實際情況作出及時調整。

  本文給出了一種評估用戶上網(wǎng)體驗的方法,通過全面系統(tǒng)的測試用戶上網(wǎng)延時并比較分析延時原因,進而總結出具體的改進措施。后續(xù)通過措施逐步實施,改善師生訪問校外網(wǎng)絡的質量。由于校園網(wǎng)各個出口運營商網(wǎng)絡的復雜性以及用戶體驗改善的長久性,未來在緩存系統(tǒng)、DNS部署以及根據(jù)校內用戶不同類型的流量分別控制方面都還有許多的優(yōu)化空間(責編:王左利)

 ?。ㄗ髡邌挝粸樯虾=煌ù髮W網(wǎng)絡信息中心)

(本文刊登于《中國教育網(wǎng)絡》2018年11月刊)

本文地址: http://www.laotiku.cn/anquanzixun/5457.html 手機版

相關推薦Related Recommendations