网站性能测试方案

  • 格式:doc
  • 大小:235.51 KB
  • 文档页数:12

禾健网站性能测试方案目录

性能测试方案

一.概述

本方案主要描述首页、注册、登录、后台订单查询,站内搜索等模块的性能参考指标及测试方法,以便于后台调试人员与程序员能从技术层面验证相关功能模块的负载能力,根据实际的性能监控数据考察系统最大的负载及相关指标情况,以便于对系统实施相关的调优工作,使其达到预期期望的压力和性能要求。

二.测试方法及相关参数算法

1.测试工具:

LoadRunner是HP公司的工业级性能测试工具。它通过创建多个虚拟用户的方式,对录制的单用户脚本增加负载,来达到增加系统压力的测试目的。LoadRunner提供了Analysis工具对压力运行的结果进行分析,得出测试脚本运行期间,系统响应事务的最小时间,平均时间和最大时间等性能信息,同时可监视各后台服务器的CPU占用率与内存使用情况。

2.测试并发用户数量计算公式(以首页的并发数举例说明)

并发数=业务量(pv量)/(时间段(小时单位)3600秒/每人每笔业务的处理时间)

例如首页访问业务量期望在0:00-24:00这一时间段内达到5万的访问量。根据这样的业务量,首先统计出单用户单次访问首页时服务器的响应时间(可包括用户的思考时间,但统计性能结果时需排除),然后再进行计算。考虑到场景的运行时间如果是24个小时(8:00-22:00)的话,可能时间段过长,增加测试难度,这里采用二八原则进行业务量与业务时间段的重新规划,即为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小时

3。场景启动方式

3.1 逐步加压模式:

通常情况下,为了真实的模拟用户业务情况,有效的衡量服务器性能,大多数会采用逐步加压,持续施压,逐步减压的方式启动场景,我们这里同样使用这样的方式。场景启动方式如下:

每10分钟增加4个Vuser,持续运行10个小时,10小时运行完成后,每10分钟退出4个Vuser。

3.2瞬间并发模式:

如果是单测并发数,则在场景中直接设计6000个并发进行业务操作,无需设置逐步加压,持续,逐步减压的过程,以此方法达到瞬间的并发测试效果。

三.测试环境:

1.测试环境硬件部署:

设备名称 设备型号 硬件配置

测试服务器 Dell R2950 InterXeonE5410四核*2/8G/NetxTreme GigE*2

两个Vlan千兆网络环境 H3C 5100 24 port全千兆,三层交换机

2. 测试环境软件部署:

2.1 测试服务器操作系统: Win2003 SP2

2.2 浏览器:IE 6.0

2.3 测试工具:LoadRunner 8.0 英文版,最大加载10000 WEB Vuser的并发

3.测试对象分析

系统采用B/S(Browser/Server)模式设计,基于Nginx集群后台,PHP的Ecshop网店框架。

操作系统: CentOS 5.5 X64

Web服务器:apache 2.0+nginx

数据库服务器:mysql 5.0

开发语言:PHP 4.测试模型:

5. 后台架构拓扑:

四.测试模块及测试目标:

系统流程:

一般用户通过浏览器发出网页请求,到前端的负载均衡Nginx上,负载均衡根据后端WEB服务器的优先级和健康状况,把请求转给Web服务器(Apache),Web服务器通过代码分析请求类别,如涉及数据库操作,则转发请求给mysql服务器,最终获取数据,经过Web服务器组合,反馈至客户端,完成用户的业务请求。

(一). 各模块的测试流程:

1.首页模块测试流程:

输入URL地址--------> 回车跳转并正确显示首页

2. 登陆模块测试流程:

打开首页-------->点击“登录”链接-------->进入登录页面后,输入用户信息,点击【登录】按钮-------->成功进入用户个人管理中心.

3. 注册模块测试流程:

打开首页-------->点击“注册”链接-------->进入会员注册页面后,输入注册信息,点击【提交注册信息】按钮-------->进入成功注册页面。

(二).各模块测试场景启用模式:

1.首页模块:瞬间并发模式

2.登陆模块:逐步加压模式

3. 注册模块:逐步加压模式

(三).测试目标:

1.基于网站当前的PV量测试:PV/日=50000,应用二八原则计算为40000t/4.8h

1.1 并发数计算:

1.1.1 首页模块:并发数=40000/4.8*3600/1=2.3

1.1.2 登陆模块:并发数=40000/4.8*3600/5=0.46

1.1.3 注册模块:并发数=40000/4.8*3600/6=0.38

测试项 业务量 并发数 业务时段 响应时间 业务成功率 CPU使用率 内存使用率

首页访问 5万 3 00:00至24:00 <3秒 >95% <70% <70% 注册模块 5万 1 00:00至24:00 <3秒 >95% <70% <70%

登录模块 5万 1 00:00至24:00 <3秒 >95% <70% <70%

2.寻找系统最大可支持的PV量测试

测试项 业务量 并发数 业务时段 响应时间 业务成功率 CPU使用率 内存使用率

首页访问 50w 30

100w 60

200w 120

注册模块 50w 10

100w 20

200w 40

登录模块 50w 10

100w 20

200w 40

五.统计测试数据

根据性能测试的目的,需记录测试过程中相关的数据,如下列信息所示:

(一) 首页访问测试结果记录表:

1. 基于网站当前的PV量测试:PV/日=50000,应用二八原则计算为40000t/4.8h

考察项 目标值 实测值 是否通过

业务量 5万 40000 是

并发数 0.5 3 是

业务时段 00:00:00-23:59:59 4.8小时 是

响应时间 <10秒 2 是

业务成功率 >95% 100% 是

服务器平均负载 CPU memory Load average process

负载均衡 5.33% 5.46G 0.51 151

WEB1 10.62% 7.05G 0.95 154

WEB2 5.97% 5.92G 0.50 151

memcache 23.49% 0.19 7.11G 151

mysql 6.29% 7.16G 0.03

156

2.首页最大可支持的PV量测试

考察项 目标值 实测值 是否通过

业务量 96万 40000 是

并发数 220 220 是

业务时段 00:00:00-23:59:59 15Min 是

响应时间 <10秒 8 是

业务成功率 >95% 99% 是

服务器平均负载 CPU memory Load average process

负载均衡 15.33% 5.46G 0.51 151

WEB1 7.05G 0.95 154 111.62%

WEB2 85.97% 5.92G 0.50 151

memcache 23.49% 0.19 0.56 151

mysql 6.29% 7.16G 0.03 156

(二) 注册模块测试结果记录表:

1.基于网站当前的PV量测试:PV/日=50000,应用二八原则计算为40000t/4.8h

考察项 目标值 实际值 是否通过

业务量 5万 40000 是

并发数 0.1 1 是

业务时段 00:00:00-23:59:59 4.8小时 是

响应时间 <8秒 7 是

业务成功率 >95% 100% 是

服务器平均负载 CPU memory Load average process

负载均衡 30.67% 4.91G 0.13

151

WEB1 29.25% 7.14G 1.19 151

WEB2 68.68% 5.37G 0.55 151

memcache 14.44% 7.07G 0.13 151

mysql 41.29% 7.16G 0.39 153

2.注册模块最大可支持的PV量测试

考察项 目标值 实际值 是否通过