Web框架的性能测评研究

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:liping668
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]新一代的Web框架是为了解决Web应用在移动设备上的跨平台问题、增加对HTML5特性的支持而开发,本文旨在通过测试的方法研究jQuery Mobile,Dojo Mobile和Sencha Touch三个Web框架的性能差异和优劣。
  本文利用WebPageTest和Mobitest工具对移动Web开发框架进行测试并横向的比较分析。分析得出jQuery Mobile性能与Dojo Mobile性能相近,但jQuery Mobile略胜一筹。Sencha Touch在测试中总体表现出了比较差的性能,但随着测试平台性能的提高,Sencha Touch与jQuery Mobile的载入性能差距越来越小。
  [关键词]Web框架 HTML5 性能
  中图分类号:O631.1+1 文献标识码:O 文章编号:1009―914X(2013)34―0263―03
  一、研究背景及现状
  Web框架最初是用于支持基于B/S架构的动态网页、网络应用及服务的开发框架。它用于开发在客户端(浏览器)上运行的JavaScript代码程序,主要处理界面展示、Ajax等功能。常见的Web框架有ExtJs、jQuery、Dojo、YUI等。
  不同的框架的特性和性能有所差异,因此开发Web应用时,各个框架的特点及优缺点的比较就显得相对重要。
  在对Web开发框架进行比较分析时,框架的载入速度和性能是比较分析的重要参考依据。而现有情况下,关于载入速度和性能的结论多是用户主观感受的体现,另外对框架载入速度和网站性能优化测试大多是针对某一个网站或页面进行的自身的纵向测试,没有针对不同框架创造出相同的情景再进行横向比较。这使得现有的Web框架在性能比较上并不够全面。
  本文旨在尽力提供这种测试情景,对移动Web开发框架进行横向的比较分析,从而为移动Web开发框架的整体比较提供载入速度和性能方面的参考依据。
  二、测试方案
  本次测试主要针对jQuery Mobile,Dojo Mobile和Sencha Touch三个Web框架。影响Web页面性能的指标有服务器性能、网络性能和前端性能(主要由浏览器JavaScript解析执行、CSS解析和解压缩数据等方面的性能组成)。其中前端性能是影响用户体验的主要部分,因此本次主要对前端性能进行测试。
  本测试中选用了几个典型的最常用的使用组件,即列表,首部导航栏、表单元素和布局作为对比,通过测试工具获得的性能数据做分析和对比。
  测试选取了具有Webkit内核的Chrome浏览器,另外综合考虑各种因素后选择具有C/S架构、功能强大、易于扩展的WebPageTest测试工具选为主要测试工具,并搭建了装有Chrome浏览器的专用的桌面测试客户端,移动端则使用Mobitest工具。
  (1)WebPageTest:
  一个开源的对网页各方面性能指标进行测试的工具,可直接使用其在线版对网页进行性能测试,也可以自己搭建WebPageTest私有服务器进行内网性能测试。
  桌面浏览器测试选用Chrome浏览器进行,分别在无cache情况下(即First View,cache和cookie都为空时,用户第一次登陆)和有cache情况下(即Repeat View,在第一次访问完之后,关闭浏览器,再访问一次,这时候的性能)进行测试。
  (2)Mobitest:
  是专门用来测试iOS和android页面性能的在線服务,可以在线免费使用,但由于移动设备的局限性,能监测到的信息要比桌面上的少很多。
  移动端测试时选用三个终端平台,即Android手机终端、iOS平板终端和iOS手机终端,使用移动端的默认浏览器。由于在移动终端上的测试没有桌面测试工具强大、测试指标丰富,因而测试得到的数据与桌面测试并不相同。除此之外,网络性能对在移动端的测试有较大影响,为了消除这种影响,在测评时选择高速稳定的LAN或WiFi而不是慢速GPRS或3G连接。
  每次测试对上文提到的测试用例做三组测试,获得如图2的瀑布图,并得到平均页面载入时间、平均页面大小以及视觉载入时间。
  从测试结果来看,jQuery Mobile和Dojo Mobile各方面指标差距比较小,但jQuery Mobile的各种类库要比Dojo Mobile小10%,所以jQuery Mobile的各项载入时间在没有cache的情况下比Dojo Mobile快10%左右,但在有Cache的情况,结果相差不大,类库已被缓存,所以差距主要由html文件的大小决定。
  和jQuery Mobile相比,Sencha Touch类库明显增大,经查看请求文件可知,主要由JavaScript类库引起,即sencha-touch-all.js(568KB)。Sencha Touch也在努力保持轻量,但瘦身的同时需要仔细配置,并将其他依赖的JavaScript文件放在合适的位置才可,不像jQuery Mobile和Dojo Mobile那样只需要一个核心文件即可以运行Mobile版本,这也说明Sencha Touch类库的庞大。另外从CPU利用率曲线上表明Sencha Touch的CPU利用率比较高,需要执行的时间也较长。
  由于Sencha Touch完全依靠JavaScript生成视图,所以开始渲染(Start Render)指标并不能显示真实的视觉上首次显示时间,首次显示时间还需要视觉载入效果比较。
  无Cache情况下,jQuery Mobile比Dojo Mobile能更快的给用户完整的视觉体验,但差距不大。而Sencha Touch的无Cache情况下的首次显示时间却到达10s,这也继承了ExtJs的特点,适合内部高速网络使用。在有cache情况下,Dojo的库比jQuery大10%这个因素已经不起作用,并且Dojo比jQuery稍微快一点,这说明它们在性能上的差距很小。而Sencha Touch在存在Cache的情况下首次视觉显示时间还是比较长,这说明较大的代码库需要解析执行的时间更大。   (2)移动终端测试结果
  在测试移动端时,Dojo Mobile显示出一种特性,即视觉首次显示总是先显示出纯HTML效果,之后再出现完整效果。下列图中Dojo Mobile在纯HTML效果出现的时候进行了标注。
  由于Dojo在1.7版本后使用了异步加载技术,加载完dojo.js 的base库文件,mobile部分的库文件可以异步下载,这样就可以继续渲染下面的HTML代码了,这导致了Dojo Mobile在第一视觉冲击上要领先于jQuery Mobile和Sencha Touch,但看到的仅仅是纯粹的HTML代码,无任何美工和修正。Dojo并不是所有的HTML代码都可以预先渲染出视觉效果,如Heading测试用例。
  移动终端上的测试结果与PC桌面浏览器的测试结果相似,Dojo Mobile与jQuery Mobile载入时间相似,但根据视觉载入显示,完整视觉效果出现时间上jQuery Mobile要领先于Dojo Mobile和Sencha Touch。
  Sencha Touch依然受其框架文件大小的限制,在载入时间和视觉显示时间上落后jQuery Mobile较多,落后Dojo Mobile较少。
  但是Sencha Touch的优势也很明显,在高配置机器上(JavaScript解析引擎很快)其UI表现相比Dojo Mobile更加丰富,跟jQuery Mobile较为接近。值得一提的是,Sencha Touch只有一个JavaScript库文件和一个CSS库文件,其本身为移动终端专门设计,而Dojo Mobile和jQuery Mobile都是依托现有核心库来扩展。理论上来讲,Sencha Touch会对移动终端的性能优化更多一些,因为其随时都可以修改其专有的核心代码库,而不用兼顾桌面浏览器。
  在真机测试(iPhone 4s和ME525+)中,特别是按钮布局测试用例中,在大量按钮存在的情况下,Sencha Touch版本的按钮在点击时能够快速的响应并进行UI上的反馈,Dojo Mobile版本则较慢,而Jquery Mobile非常慢,甚至到了无法点击的程度,卡顿很明显,前端性能不只包括页面切换\载入时的性能,还包括同一页面视图变化、UI交互的性能,在这一方面,Sencha Touch表现较好较为流畅。
  四、结论
  由以上的对比分析可得,jQuery Mobile性能与Dojo Mobile性能相近,但jQuery Mobile略胜一筹,Dojo Mobile的学习曲线更高。Sencha Touch在测试中总体表现出了比较差的性能,但随着测试平台性能的提高,Sencha Touch与jQuery Mobile的载入性能差距越来越小。
  (1)对网络性能的影响方面:
  jQuery Mobile和Dojo Mobile在网络性能方面类似,因为影响网络性能的指标就是请求的文件数目和文件大小,这两个框架在库文件大小、CSS文件大小上总体上相似,jQuery Mobile因其较小的各种库文件要略胜一筹,而Sencha Touch因库文件大小问题在此项目上占据劣势。
  对网络性能的影响最差的应该是Dojo Mobile,在页面很简单时,其可能跟jQuery Mobile网络方面性能相差不多,但是随着页面元素、功能的增加,其所需的库文件也迅速增加。而Sencha Touch和JQuery Mobile都是固定数量的库文件,页面功能的增加其网络负载不会增加。Sencha Touch只有一个JavaScript主庫文件,相比JQuery Mobile更有优势。
  所以在对网络性能的影响上,Sencha Touch除了其自己库文件较大的缺点外,其库文件数量较少,能提高其网络性能。
  (2)对前端性能的影响方面:
  库文件的大小不仅仅影响网络性能,还影响浏览器解析和运行的速度。
  Sencha Touch在首次显示时间上有cache的情况下还是比jQuery Mobile和Dojo Mobile更慢,从DOM元素个数的测试结果,发现实现相同的功能时,Sencha Touch在DOM中创建的元素数量总体上要大于另外两个框架,但在一些功能点上Sencha Touch优化的较好,呈现出较稳定的趋势,所以Sencha Touch给了浏览器较重的负担。
  在前端性能上,Sencha Touch比jQuery Mobile要慢一些,但随着设备性能的增强,差距越来越小,如在iPhone4和iPad 2上Sencha Touch就表现出了不错的前端性能。
  参考文献
  [1]http://www.blaze.io/mobile/
  [2]http://jsperf.com/new-date-value/9
  [3]http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
  [4]http://www.samdutton.com/navigationTiming/
  [5]http://msdn.microsoft.com/en-us/library/ff975075
  作者简介
  董振江:现任中兴通讯股份有限公司业务研究院副院长,1995年毕业于哈尔滨工业大学。多年从事交换机、智能网、业务平台和数据业务产品的开发、架构设计等工作,对业务网络架构、通信技术和协议、移动互联网技术、云计算技术等有深入研究。
  金怡爱:现就职于中兴通讯股份有限公司,毕业于吉林大学。长期从事Java虚拟机、浏览器内核等技术的研究,近年来主要从事终端应用开发技术相关方面的研究。
  李永超:现于北京邮电大学计算机学院就读硕士研究生,本科毕业于西安邮电大学计算机学院。精通Linux编程,长期从事Java开发、Web开发。
  张坤:现于北京邮电大学计算机学院就读硕士研究生。
  任文慧:本科毕业于山东大学,现于北京邮电大学计算机学院就读硕士研究生。
其他文献
[摘 要]本文从数控专业教师及教学改革主要参与者的角度,对数控专业的教学现状进行了分析,并提出了相应改革措施和方案,为同类型院校的数控专业教学提供了参考。  [关键词]数控 教学 一体化 改革  中图分类号:G642.0 文献标识码:G 文章编号:1009―914X(2013)34―0279―01  引言:我校自2003年开始进行数控专业教学,到现在已经进行了十年。十年来,数控实训教学从无到有,从
期刊
[摘 要]综述了几种藻类定量检测的常用方法,介绍了两种藻类应急检测法和叶绿素a法(包括分光光度法、荧光法和高效液相色谱法),探讨了各方法的优劣之处,为各从事实验室分析人员提供了参考依据。  [关键词]藻类 叶绿素a 分光光度法 高效液相色谱法  中图分类号:X8302 文献标识码:X 文章编号:1009―914X(2013)34―0280―01  藻类是水环境中的初级生产者,对维持水环境的生态平衡
期刊
[摘 要]饮料的包装越来越倾向于无菌装罐技术,对无菌装罐技术,杀菌的出来过程尤为重要,对无菌装罐技术的维持与无菌验证进行分析和探讨日趋明显,基于消费者对饮品的高要求,饮料无菌灌装技术如雨后春笋,应用而生。  [关键词]饮料 无菌装罐技术 因素分析 探讨  中图分类号:R155.5+9 文献标识码:R 文章编号:1009―914X(2013)34―0259―02  随着飞速发展的现代科技和不断提高的
期刊
[摘 要]从视觉艺术设计的角度来看,可以直接影响审美的因素一般包括形体、质感、灯光、色彩等,其中色彩是审美中最引人注目的因素之一。在超市購物环境的塑造中,也常常运用色彩的魅力来烘托卖场的艺术氛围。合理的运用色彩及其搭配,有利于超市树立良好的企业形象,同时可以对消费者的心理产生积极的影响,刺激消费者的购物欲望,从而提高商品的销售量。反之,会使消费者产生负面的影响,对卖场的经营和发展也是不利的,可见色
期刊
[摘 要]如何提高矿井35kV线路的防雷电能力,确保矿井供电安全,是煤矿供电方面亟待解决的问题。本文针对现在煤矿所用35KV线路的防雷措施进行对比分析,提出以避雷器为主的综合防雷措施,很好的提高了35KV线路防雷的可靠性。  [关键词]防雷措施 避雷器 实践  中图分类号:TM862 文献标识码:TM 文章编号:1009―914X(2013)34―0277―01  一、前言  在矿山供电中,由于煤
期刊
[摘 要]改革开放以来,我国的社会经济发展迅猛,人民生活水平有了显著的提高,为了实现我国城市化建设的总体目标,对农村的拆迁重建工作的重要性就日益凸显出来。在农村拆迁工作中,进行有效的土地测绘和质量控制工作是非常重要的,这就需要先进的测绘和质量控制技术作为拆迁工作能够科学合理的保障。本文将通过对农村拆迁中影响土地测绘和质量控制的因素进行分析,并提出几点应对的措施。  [关键词]农村拆迁;土地测绘;质
期刊
[摘 要]电的使用为人类的生活带来了很大的改变,目前的经济发展之所以如此迅速,很大部分都是依赖于电力产业。电力企业是为社会和居民提供生活用电和生产用电的企业,关乎着社会的发展和经济的发展,因此电力企业的责任重大。电力企业的形象对于企业的自身发展以及品牌形象有着非常重要的作用,日常工作中需要对企业的新闻宣传引起重视,让企业的良好形象可以让群众熟知。本文主要是对电力企业的新闻宣传工作重要性进行了阐述,
期刊
[摘 要]思想政治工作是做人的工作,做思想政治工作必须尊重人、理解人、信任人、关心人、激励人。用科学发展观指导医院思想政治工作,要坚持“以人为本”,灌输先进的科学思想及理念,突出针对性、实效性、时代感并通过医院文化建设,营造和倡导积极、健康的文化环境和价值观念,教育职工重新认识新形势下医务人员的责任,为医院的文化建设和健康发展提供思想动力和导向。作为管理者,在做好思想政治工作的同时,还必须建立一套
期刊
[摘 要]本文通过对涂层性能新标准(PSPC)的分析和研究,通过深化生产设计、改进在船舶建造的前期策划过程中,从船舶设计、生产管理等各方面,分解涂层性能新标准(PSPC)各项要求到各个工序,再通过现场施工检验,进一步优化整个实施体系,并针对性的介绍了科学、先进、具有较强使用性和可操作性的处理方法。  [关键词]PSPC 工法技术 分段涂装 生产管理 质量管理体系 涂层保护  中图分类号:TD265
期刊
[摘 要]本文通过对SUN 工作站备件网卡的设置,讲述了在实际维护过程中如何运用Solaris有关理论知识解决工作中遇到问题。  [关键词]SCDI工作站 Solaris UNIX 网卡  中图分类号:V828.9 文献标识码:V 文章编号:1009―914X(2013)34―0283―01  一、引言  雷神雷达头系统采用SUN公司基于Solaris的工作站。Solaris是雷神雷达安装年代较为
期刊