针对网站功能与性能的测试方法研究
摘 要:本文针对网站功能与性能的测试方法进行研究,希望对读者有所帮助。
关键词:网站功能;性能测试;
前言
网站功能与性能的测试主要描述首页、注册、登录、后台订单查询,站内搜索等模块的性能参考指标及测试方法,以便于后台调试人员与程序员能从技术层面验证相关功能模块的负载能力,根据实际的性能监控数据考察系统最大的负载及相关指标情况,以便于对系统实施相关的调优工作,使其达到预期期望的压力和性能要求。
1. 测试方法及相关参数算法
1.1 测试工具:
测试工具LoadRunner通过创建多个虚拟用户的方式,对录制的单用户脚本增加负载,来达到增加系统压力的测试目的。LoadRunner提供了Analysis工具对压力运行的结果进行分析,得出测试脚本运行期间,系统响应事务的最小时间,平均时间和最大时间等性能信息,同时可监视各后台服务器的CPU占用率与内存使用情况。
1.2 测试并发用户数量计算公式
以网站首页的并发数举例说明:
并发数=业务量(pv量)/(时间段(小时单位)3600秒/每人每笔业务的处理时间)
例如:首页访问业务量期望在0:00-24:00这一时间段内达到5万的访问量。根据这样的业务量,首先统计出单用户单次访问首页时服务器的响应时间,然后再进行计算。采用二八原则进行业务量与业务时间段的重新规划,即为80%的业务量在20%的时间内完成。那么5万首页访问量的80%即为4万,而24个小时的20%即为4.8小时。故本次测试,如果性能满足4.8小时内完成4万的业务访问量,为测试通过。
利用LoadRunner录制访问首页的脚本,在Controller中不设置持续时间运行一次,然后在Analysis中统计出单用户单次访问首页所需要的时间。假设此时得到的响应时间为t秒/次,则根据预期计算得出业务高峰大概出现在T小时内。那么单用户在T个小时内可访问首页的次数C=T*60分钟*60秒/t(秒/次),那么T个小时内PV_Count(页面访问量)大概需要Total_Vuser=PV_Count/C个Vuser来完成。此处的Total_Vuser即为测试时所用的并发数。
示例:
假设单用户单次访问首页,服务器的响应时间t=3秒/次,那么T(4.8小时)内单用户可访问4.8小时*60分钟*60秒/3(秒/次)=5760次,则初步估计的并发数Total_Vuser为240万/5760次/人=416.67人,即大约为417个Vuser。而在实际使用中并发数不得超过200,则实际的并发数及运行时间如下:
417*4.8/200=10小时
即认为200的并发量持续10小时
1.3 场景启动方式
(1) 逐步加压模式:
通常情况下,为了真实的模拟用户业务情况,有效的衡量服务器性能,大多数会采用逐步加压,持续施压,逐步减压的方式启动场景,我们这里同样使用这样的方式。场景启动方式如下:
每10分钟增加4个Vuser,持续运行10个小时,10小时运行完成后,每10分钟退出4个Vuser。
(2)瞬间并发模式:
如果是单测并发数,则在场景中直接设计6000个并发进行业务操作,无需设置逐步加压,持续,逐步减压的过程,以此方法达到瞬间的并发测试效果。
2. 测试环境
2.1 测试环境硬件部署:
(1)测试服务器: Dell R2950, InterXeonE5410四核*2/8G/NetxTreme GigE*2。
(2)两个Vlan千兆网络环境: H3C 5100, 24 port全千兆,三层交换机。
2.2 测试环境软件部署:
(1)测试服务器操作系统: Win2003 SP2
(2)浏览器:IE 6.0
(3)测试工具:LoadRunner 8.0 英文版,最大加载10000 WEB Vuser的并发
2.3 测试对象分析
系统采用B/S(Browser/Server)模式设计,基于Nginx集群后台,PHP的Ecshop网店框架。
操作系统: CentOS 5.5 X64
Web服务器:apache 2.0+nginx
数据库服务器:mysql 5.0
模型架构:首页、注册、登录、订单、搜索---->防火墙---->负载均衡服务器两台---->web服务器两台、vamish缓存服务器、数据库服务器、vpn服务器、邮件服务器、图片服务器、memorycache服务器、squid服务器
3. 测试模块及测试目标
系统流程:
一般用户通过浏览器发出网页请求,到前端的负载均衡Nginx上,负载均衡根据后端WEB服务器的优先级和健康状况,把请求转给Web服务器(Apache),Web服务器通过代码分析请求类别,如涉及数据库操作,则转发请求给mysql服务器,最终获取数据,经过Web服务器组合,反馈至客户端,完成用户的业务请求。
1、各模块的测试流程:
(1)首页模块测试流程:
输入URL地址--------> 回车跳转并正确显示首页
(2)登陆模块测试流程:
打开首页-------->点击“登录”链接-------->进入登录页面后,输入用户信息,点击【登录】按钮-------->成功进入用户个人管理中心.
2、各模块测试场景启用模式:
(1)首页模块:瞬间并发模式
(2)登陆模块:逐步加压模式
3、测试目标:
(1)基于网站当前的PV量测试:PV/日=50000,应用二八原则计算为40000t/4.8h
并发数计算:
首页模块:并发数=40000/4.8*3600/1=2.3
登陆模块:并发数=40000/4.8*3600/5=0.46
(2)寻找系统最大可支持的PV量测试
4. 统计测试数据
根据性能测试的目的,需记录测试过程中相关的数据,如下列信息所示:
4.1 首页访问测试结果记录表:
基于网站当前的PV量测试:PV/日=50000,应用二八原则计算为40000t/4.8h
4.2 登录模块测试结果记录表:
基于网站当前的PV量测试:PV/日=50000,应用二八原则计算为40000t/4.8h
五、结束语
网站功能与性能的测试可以确保网站的正常运行,对网站的经营具有重要的意义,测试的目的是根据实际的性能监控数据考察系统最大的负载及相关指标情况,以便于对系统实施相关的调优工作,使其达到预期期望的压力和性能要求。
参考文献:
. 苏州大学,2011
下一篇:探讨网络文化与网络安全管理