精准香港透码总部

基于PhantomJS的校園網質量分析及優化

時間:2018-11-22 22:01來源:Office教程學習網 精准香港透码总部 www.lloyp.icu編輯:麥田守望者

精准香港透码总部 www.lloyp.icu 對于互聯網建設來說,提升終端用戶的訪問質量是重要目標。根據國際通用的寬帶網速衡量標準,反映寬帶網絡速率及接入質量的指標主要有兩種:

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

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

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

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

  測試方法

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

  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();
  });

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

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

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

  測試數據

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

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

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

  2.某些網址需要通過認證才能訪問,不滿足則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個網址,通過圖1查看各個延時時間段內網址的個數(橫坐標表示各個訪問延時的區間,縱坐標表示落在各個區間的網址個數),可以看出,部分網址訪問情況理想,部分網址訪問延時較大。延遲較大的需要重點分析并予以優化。

圖1 各類訪問延時分布

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


圖2 訪問延時總體分布

  通過圖1、2數據,表示訪問頻率較高的網址延時比較大,這部分地址將是優化的主要目標。

  圖3是無線網絡部分通過電信網和通過教育網訪問829個網址的數據對比。

圖3 無線網測試數據對比

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

  延時原因分析

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

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

圖4 msg.71.am 訪問數據對比

  該網址IP地址解析在山東濟南移動,訪問延時低而且穩定,無需優化。

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

圖5 dl.360safe.com 訪問數據對比

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

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

圖6 www.bilibili.com和blog.sina.com.cn訪問數據對比

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

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

  改進措施

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

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

  訪問同一國外網站,教育網和各家運營商的國際出口有快有慢??燜俜夢實墓丶?,是正確選擇最快的運營商線路。通過在多家運營商線路校園網側部署探針系統進行多網訪問測試,并對測試結果進行比較,進而找出最快的線路。

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

  2.實施網絡出口流量控制策略

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

  3.部署內網緩存系統

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

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

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

  5.持續調優

  各運營商的國際互聯網出口,以及校內的各種不同類型的訪問流量都不是一成不變的,所以想一勞永逸地實現最優化的國際流量訪問比較困難,需要定期根據實際情況作出及時調整。

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

 ?。ㄗ髡叩ノ晃蝦=煌ù笱縲畔⒅行模?/span>

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

------分隔線----------------------------
標簽(Tag):校園網質量分析及優化 PhantomJS
------分隔線----------------------------
推薦內容
猜你感興趣
中国足彩官网下载 全天北京pk赛车人工计划 欢乐雀神麻将下载 精准中特36码大包围资料 双色球开奖中一个蓝号 现金二人斗地主规则 2018炸金花下载大全 电子游戏平台 新疆时时彩 pk10技巧经验 重庆时时彩后一技巧 重庆时时三星基本走势 新疆时时怎么玩能赢 北京pk10第四名走势图 福彩七乐彩开奖105期 今晚排列五开奖号码是