1、引言

  随着互联网的普及,越来越多的传统业务转移到了网络进行。但是由于大型票务系统受众访问高峰、持续性等特殊性,使得传统的性能测试策略并不适合该类系统的测试。例如北京奥运会票务系统和伦敦奥运会票务系统的在运营阶段不断的瘫痪、修复、上线运营的循环中,大型票务系统的性能测试显得尤为重要。

  2、关键技术

  2.1 Web应用响应时间

  其中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 完成处理并将结果返回给客户端阶段。

  从用户的角度来看,响应时间=(C1+C2)+(A1+A2+A3)+(N1+N2+N3+N4);但是从系统的角度来看,响应时间只包括(A1+A2+A3)+(N1+N2+N3+N4)。

  2.2 前端性能

  所谓前端是相对于后端而言的,后端是用户分析用户请求、执行数据查询并对结果进行组织,形成浏览器可以完全呈现的内容;前端是负责将后端生成的内容通过网络发送给客户段浏览器,展现后端请求处理结果的。前端开发技术主要有(X)HTML/CSS/JavaScript/DOM/Flash等各种Web技术。前端性能主要是在客户端通过浏览器发送了一个请求,除去后端处理消耗的时间的浏览器展示后端访问请求的时间。也是C1+C2+N1+N2阶段,其中主要衡量接受到的数据的大小、接受响应数据的碎片程度等方面。

  在交互式应用中,响应时间大于15秒,对于大多数人是无法容忍的,相应时间大于4秒时,人的短期记忆会受到影响,工作的连续性会被破坏。对于一个用户的每次访问来说,80%的响应时间消耗在了前端。而且对于提升网站的访问速度而言,如果通过后端优化将响应速度提升一赔,那么整体的响应时间仅仅只能减少5%到10%;而如果通过优化前端将响应时间减少一半,则整体响应时间至少减少40%到45%。

  2.3 后端性能

  后端性能是指web Server或者APP Server在收到客户端响应后,对其进行处理,通过数据库数据返回结果,经过处理将返回响应发送给客户端的过程。也是图1中逻辑业务流经过A1、A2、A3、N2、N3的过程中对各个阶段的响应时间、服务器资源利用率、网络负载等方面的衡量。

  性能度量是通过定义一系列可以反映程序性能的指标,并从程序实际运行的数据中获得度量结果的过程。性能度量的结果可以用于评估系统的性能好坏、分析性能瓶颈和改进系统性能等。针对Web应用性能,有两种常用度量指标:度量资源使用情况,度量响应时间。