Web框架的性能测评

时间:2024-02-07 点赞:48011 浏览:93864 作者原创标记本站原创

这是一篇关于大学计算机毕业论文参考文献格式范文,与Web框架的性能测评相关学年毕业论文。是硕士论文专业与大学计算机及性能及测试方面相关的免费优秀学术论文范文资料,可作为大学计算机方面的大学硕士与本科毕业论文开题报告范文和职称论文论文写作参考文献下载。

[摘 要]新一代的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 文章编号:1009914X(2013)34026303

一、研究背景及现状

Web框架最初是用于支持基于B/S架构的动态网页、网络应用及服务的开发框架.它用于开发在客户端(浏览器)上运行的JaScript代码程序,主要处理界面展示、Ajax等功能.常见的Web框架有ExtJs、jQuery、Dojo、YUI等.

不同的框架的特性和性能有所差异,因此开发Web应用时,各个框架的特点及优缺点的比较就显得相对重要.

在对Web开发框架进行比较分析时,框架的载入速度和性能是比较分析的重要参考依据.而现有情况下,关于载入速度和性能的结论多是用户主观感受的体现,另外对框架载入速度和网站性能优化测试大多是针对某一个网站或页面进行的自身的纵向测试,没有针对不同框架创造出相同的情景再进行横向比较.这使得现有的Web框架在性能比较上并不够全面.

本文旨在尽力提供这种测试情景,对移动Web开发框架进行横向的比较分析,从而为移动Web开发框架的整体比较提供载入速度和性能方面的参考依据.

二、测试方案

本次测试主要针对jQuery Mobile,Dojo Mobile和Sencha Touch三个Web框架.影响Web页面性能的指标有服务器性能、网络性能和前端性能(主要由浏览器JaScript解析执行、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的情况,结果相差不大,类库已被缓存,所以差距主要由文件的大小决定.


和jQuery Mobile相比,Sencha Touch类库明显增大,经查看请求文件可知,主要由JaScript类库引起,即sencha-touch-all.js(568KB).Sencha Touch也在努力保持轻量,但瘦身的同时需要仔细配置,并将其他依赖的JaScript文件放在合适的位置才可,不像jQuery Mobile和Dojo Mobile那样只需要一个核心文件即可以运行Mobile版本,这也说明Sencha Touch类库的庞大.另外从CPU利用率曲线上表明Sencha Touch的CPU利用率比较高,需要执行的时间也较长.

由于Sencha Touch完全依靠JaScript生成视图,所以开始渲染(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的优势也很明显,在高配置机器上(JaScript解析引擎很快)其UI表现相比Dojo Mobile更加丰富,跟jQuery Mobile较为接近.值得一提的是,Sencha Touch只有一个JaScript库文件和一个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只有一个JaScript主库文件,相比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就表现出了不错的前端性能.

相关论文

Web服务的性能优化

本论文是一篇关于数据库类论文提纲格式,关于Web服务的性能优化相关毕业论文的格式范文。免费优秀的关于数据库及性能及线程方面论文范文资料。

基于Struts框架的Web电子报表系统设计

本文是一篇数据库论文范文,关于数据库类毕业论文范文,关于基于Struts框架的Web电子报表系统设计相关研究生毕业论文开题报告范文。适合数据。

框架结构梁柱节点性能的安全可靠度

本文是一篇框架结构论文范文,关于框架结构方面学年毕业论文,关于框架结构梁柱节点性能的安全可靠度相关本科毕业论文范文。适合框架结构及节。

加气混凝土的声学性能

本文是一篇建筑材料论文范文,关于建筑材料方面在职毕业论文开题报告,关于加气混凝土的声学性能相关毕业论文参考文献格式范文。适合建筑材料。

在Web项目服务端访问Office文件

本论文是一篇文件方面学术论文模板,关于在Web项目服务端访问Office文件相关毕业论文的格式范文。免费优秀的关于文件及方法及进程方面论文范。

低频信号源检定标准装置的性能

本论文是一篇测量相关论文标准格式,关于低频信号源检定标准装置的性能相关硕士毕业论文范文。免费优秀的关于测量及信号源及标准方面论文范。