回来主页

依据PhantomJS的学校网质量剖析及优化

时刻:2018-11-22 22:01来历:manbetx万博官网网 www.fwnyp.com修正:麦田守望者

关于互联网建造来说,提高终端用户的拜访质量是重要方针。依据世界通用的宽带网速衡量标准,反映宽带网络速率及接入质量的方针首要有两种:

  一是网络接入速率,即运营商与用户合同约好的,从用户终端到运营商网络接入设备的可运用的最高速率,比方咱们一般所说的运营商供给的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布置以及依据校内用户不同类型的流量别离操控方面都还有许多的优化空间(责编:王左利)

  (作者单位为上海交通大学网络信息中心)

(本文刊登于《中国教育网络》2018年11月刊)

------分隔线----------------------------
标签(Tag):学校网质量剖析及优化 PhantomJS
------分隔线----------------------------
引荐内容
猜你感兴趣