gN`j{,J|A-mv;x0 1、引言51Testing软件测试网`nq F7p$By2gom
$T2r?hK8{#k+@mA5`0 随着互联网的普及,越来越多的传统业务转移到了网络进行。但是由于大型票务系统受众访问高峰、持续性等特殊性,使得传统的性能测试策略并不适合该类系统的测试。例如北京奥运会票务系统和伦敦奥运会票务系统的在运营阶段不断的瘫痪、修复、上线运营的循环中,大型票务系统的性能测试显得尤为重要。
-w~.M-yi['Wwb0z*R:P Aj0 2、关键技术51Testing软件测试网#B
_9^m9~h
|9d|#I7r^9}mG7W2}0 2.1Web应用响应时间51Testing软件测试网J3?7y3Ncn
?y4NM&S^
51Testing软件测试网@p ye0b,e*w
其中C1是用户发请求前在客户端完成预处理阶段;C2是客户端接收到服务器返响应后,对处理结果展现的阶段;A1是WEB Server或者APP Server对请求进行处理阶段;A2是数据库服
务器对请求进行处理阶段;A3是WEB Server或者APP Server对DB Server
返回结果进行处理的阶段;N1是请求由客户端发出并达到Web/App Server 的阶段;N2是如果需要进行数据库相关的操作,由Web/App
Server 将请求发送至DB Server 阶段;N3是DB Server 完成处理并将结果返回Web/App Server
阶段;N4是Web/App Server 完成处理并将结果返回给客户端阶段。
p5Y$U]4q0 从用户的角度来看,响应时间=(C1+C2)+(A1+A2+A3)+(N1+N2+N3+N4);但是从系统的角度来看,响应时间只包括(A1+A2+A3)+(N1+N2+N3+N4)。51Testing软件测试网;Q5{N iW%t*F%]B
2.2 前端性能51Testing软件测试网~P,i?eM0o7w
所谓前端是相对于后端而言的,后端是用户分析用户请求、执行数据查询并对结果进行组织,形成浏览器可以完全呈现的内容;前端是负责将后端生成的内容通过
网络发送给客户段浏览器,展现后端请求处理结果的。前端开发技术主要有(X)HTML/CSS/JavaScript/DOM/Flash等各种Web技
术。前端性能主要是在客户端通过浏览器发送了一个请求,除去后端处理消耗的时间的浏览器展示后端访问请求的时间。也就是图1中C1+C2+N1+N2阶
段,其中主要衡量接受到的数据的大小、接受响应数据的碎片程度等方面。
8gD,R{'RX&g P:ViX0 在交互式应用中,响应时间大于15秒,对于大多数人是无法容忍的,相应时间大于4秒时,人的短期记忆会受到影响,工作的
连续性就会被破坏。对于一个用户的每次访问来说,80%的响应时间消耗在了前端。而且对于提升网站的访问速度而言,如果通过后端优化将响应速度提升一赔,
那么整体的响应时间仅仅只能减少5%到10%;而如果通过优化前端将响应时间减少一半,则整体响应时间至少减少40%到45%。
/\
b0M1?7Y+?R0 2.3 后端性能
^Ut koD0
后端性能是指web Server或者APP
Server在收到客户端响应后,对其进行处理,通过数据库数据返回结果,经过处理将返回响应发送给客户端的过程。也就是图1中逻辑业务流经过A1、
A2、A3、N2、N3的过程中对各个阶段的响应时间、服务器资源利用率、网络负载等方面的衡量。
)D9xWhM0 性能度量就是通过定义一系列可以反映程序性能的指标,并从程序实际运行的数据中获得度量结果的过程。性能度量的结果可以用于评估系统的性能好坏、分析性能瓶颈和改进系统性能等。针对Web应用性能,有两种常用度量指标:度量资源使用情况,度量响应时间。
Z*h:p-O
I/]051Testing软件测试网~_^8| xU,S 3、大型票务系统性能评价方法51Testing软件测试网e3t7WAU%axV4v
51Testing软件测试网 X8S:jn/V7g"O*X~ 3.1 前段性能评价方法
t'T-W'm+w2O0T}z@4F2zy/G1x8y%\0 对于大型票务系统而言,前端性能的优化主要是为了加快响应结果在客户端的响应速度,这样能够避免用户误以为无响应而反复的刷新造成服务器端压力。在评测过程中主要从如下几个方面进行考虑:51Testing软件测试网Tobuw]
51Testing软件测试网0NX2sh,b4kR A、CSS文件或者代码至于顶部51Testing软件测试网4B;D/^._9a2NmH
#~(N3o o:Ez"d0 B、JavaScript脚本文件或者代码至于文件的底部
-[D(w:z/w:K O
k9r051Testing软件测试网]{~Yl;L-P C、CSS文件或者代码中无CSS表达式
;Q @1E?J0GA6F
Z}0 D、JavaScript脚本文件或者代码中无重复脚本
?0S*_g0V0(szN?*kl0 E、移除无用的CSS51Testing软件测试网gc2r8fc#I-P
:mZ0^'z%E4Q0 F、对JavaScript脚本进行了精简51Testing软件测试网7U+PL5M2l{
51Testing软件测试网3j)J[
r!D Tv
VV @ G、精简CSS脚本
u.Ci%v-]ZQ051Testing软件测试网8Jb2we.i2AO H、外链JavaScript脚本并且合并多个javascript脚本文件
2s|Bh"? M4g$o+C\w051Testing软件测试网8`0GswU"m UG I、外链CSS并且合并多个CSS文件
;U5cZ,Z:^&@m"p l051Testing软件测试网$Kc-mH@3`/g8lZ J、应用图片地图或者CSS Sprites51Testing软件测试网mI;Ci,D)s
51Testing软件测试网0D5I-]9O%g#U"KU K、应用Expires头
I|+S'K(a&i051Testing软件测试网1]&Mcz#s }7uH2`Yv L、无重定向
~.]4V!u
sh8{
Q051Testing软件测试网guS3HBV.y M、应用GZip压缩
7^8R&dBD0N/P"C^051Testing软件测试网V5r\_?
D:jO N、配置ETag
#}x0Zms0(dC
r.K}g0 在上述的评测内容中主要包括了两方面,其一是脚本文件的优化,资源文件的优化和CSS文件的优化三大方面。服务器文件优化就是降低在客户端访问
服务器端时,除去HTML文档外其他所有内容的物理大小,减小传输时间和加载时间。其二是依据HTTP协议特性,通过配置中间件、修改源程序等操作进行的
优化。在完成上述14项技术评价指标后,仍有如下4项附加项需要考虑:51Testing软件测试网6`*f~&{nui,{R0@
51Testing软件测试网z,d U.P8iY#Q O、应用Ajax缓存
Dm,P n%wG-r0 |5H4U.H*OQV0 P、应用CDN
,s2fkq'~A*?1S051Testing软件测试网o6wVq9i kVd Q、混淆JavaScript51Testing软件测试网,twmXs3i,k#p:~4l@
'bsGa
GJ0 R、页面DNS查找最小化51Testing软件测试网&GZFmm
.[f
A1R0MhQ3l0 由于上述四项附加是由相对复杂,风险较大、实现成本较高技术决定的,因此附加项的满足条件就视项目的投入成本情况而定,并不一定要完全满足。51Testing软件测试网8g#e*W4m['XH8Z