Aostar & YinHai
| 项目管理 | 文件编号: | ||
| 文件名称: | 测试方案 | ||
| 版 本 号 | V2.0 | 日期 | 2007-03-16 |
| 项目名称 | ******** | 项目编号 | 05047104P |
| 项目负责人 | 立项日期 | ||
| 修订历史记录 | |||
| 启始日期 | 版本号 | 作者 | 说明 |
| 2007-03-25 | 1.0 | 舒文林 | 只用于数据交互测试 |
| 审核: | 日期: | ||
| 批准: | 日期: |
●稳定性测试,模拟150人不停的往Weblogic服务器上施压,运行一周;
●压力测试,不断的往Weblogic服务器上施压,看看系统能承受的最大访问用户数;
●容量测试,在100万条记录的基准上,进行负载测试,看看是否正常;
前端测试方法
从网络部署看,压力主要集中在Weblogic服务器上,所以性能测试的关键在于看客户端多用户大量提交数据的情况下,应用服务器和数据库服务器是否能够承受压力。因此我们采取通过一个test.jsp脚本完全按照交互应用程序不断往Weblogic应用服务器发送数据,通过观察Weblogic应用服务器、客户端、数据库服务器相关对象的性能计数器来获取信息进行分析。此次测试采用Mercury loadrunner 8.0作为模拟150并发用户同时往WebLogic发送数据,以上测试环境为现场测试,数据库容量须达到100万条记录以上;稳定性测试应达一周以上。
性能监控方案
主要分为三部份,分别监控数据库、应用服务器以及测试工具的相关指标,测试工具主要反映的是客户端的性能情况;应用服务器通过Windows 2000的性能监控器加入CPU,内存,网络,磁盘各对象的性能指标,以便获取实时的数据。数据库的监控通过Oracle的信息视图来完成,通过写SQL来监控;测试工具的指标通过观察它的分析图来获取数据。
1.数据库监控指标和方法
| 指标 | 说明 | 方法 |
| User 0 Connections | 用户连接数,也就是数据库的连接数量 | Select count(1)from v$session where username=” |
| Number of block | 有无阻塞情况 | Select count(*)from v$lock Where block=1 |
| Number of deadlocks | 有无数据库死锁 | 通过oracle日志获取 |
| 使用CPU多的用户session | 查找CPU消耗的原因 | Select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value from v$session a,v$process b,v$sesstat c where c.statistic#=12 and c.sid=a.sid and a.paddr=b.addr order by value desc; |
| 监控 SGA 的命中率 | select a.value + b.value "logical_reads", c.value "phys_reads", round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO" from v$sysstat a, v$sysstat b, v$sysstat c where a.statistic# = 38 and b.statistic# = 39 and c.statistic# = 40; | |
| 回滚段的争用情况 | select name, waits, gets, waits/gets "Ratio" from v$rollstat a, v$rollname b where a.usn = b.usn; |
| 性能分析指标 | 说明 | 方法 |
| Trans Response time | 事务每秒响应时间衡量客户端的效率 | 通过测试工具的Transaction Graphs图 |
| Hits per Second | 每秒点击率 | 测试工具的Web Graphs图 |
| 服务器吞吐量 | 测试工具 analysis report | |
| Total Trans/sec(pass) | 每秒通过的事务数 | 通过测试工具的Transaction Graphs图 |
| TotalRunningVusers(pass) | 通过的用户总数 | 通过测试工具的 Runtime Graphs |
| TotalRunningVusers(failed) | 失败的用户数 | 通过测试工具的 Runtime Graphs |
●CPU对应指标
| 性能分析指标 | 说明 | 方法 |
| Processor Queue Length | 是指处理列队 中的线程数。 | Windows 2003性能监视器 |
| %Processor Time | CPU 使用率 | 测试工具的Web Graphs图 |
| 性能分析指标 | 说明 | 方法 |
| Available MBytes | 物理内存的可用数 | Windows 2003性能监视器 |
| Page/sec | 是指为解析硬页错误从磁盘读取或写入磁盘的页数 | Windows 2003性能监视器 |
| PF | 内存使用数 | 资源管理器 |
| Cache Bytes | 文件系统缓存 | Windows 2003性能监视器 |
| 性能分析指标 | 说明 | 方法 |
| Disk Reads/sec | 指在此盘上读取操作的速率 | Windows 2003性能监视器 |
| Disk Writes/sec | 指在此盘上写入操作的速率 | Windows 2003性能监视器 |
| 性能分析指标 | 说明 | 方法 |
| Bytes Total/sec | Bytes Total/sec 为发送和接收字节的速 率,包括帧字符在内。判断网络连接速 度是否是瓶颈,可以用该计数器的值和 目前网络的带宽比较 | Windows 2003性能监视器 |
以上测试方案需要一人7到10天的工作量,需要安装mercury loadrunner 8.0以上版本。下载本文