2.1.4 测试指标及期望
在本次性能测试中,各类测试指标包括测试中应该达到的某些性能指标,这些性能指标均是来自应用系统设计开发时遵循的业务需求,当某个测试的某一类指标已经超出了业务需求的要求范围,则测试已经达到目的,即可终止压力测试。
2.1.4.1 应用软件级别的测试指标:
1) 联机交易类的执行情况
ü 交易的平均响应时间(期望值:<15s)
ü 交易的最大响应时间(期望值:<30s)
ü 平均每秒处理交易数量(分别记录单位时间内成功、失败和停止的交易数量)
ü 交易成功率 (期望值:>95%)
ü 不同并发用户数的状况下的上述记录值
2)测试结果分析情况
ü 单笔记录的处理时间(期望值:<15s)
ü 单位时间内的处理交易笔数(期望值:>10个)
ü 某个时间段内的交易处理数量
ü 单笔能处理的最大数据量
ü 在每个交易处理中最大(最耗时)的模块
ü 在不同数量的测试数据基础上的上述记录值
2.1.4.2 网络级别的测试指标:
ü 吞吐量:单位时间内网络传输数据量
ü 冲突率:在以太网上监测到的每秒冲突数
2.1.4.3 操作系统级别的测试指标:
ü 进程/线程交换率:进程和线程之间每秒交换次数
ü CPU利用率:即CPU占用率(%)
ü 系统CPU利用率:系统的CPU占用率(%)
ü 用户CPU利用率:用户模式下的CPU占用率(%)
ü 磁盘交换率:磁盘交换速率
ü 中断速率:CPU每秒处理的中断数
ü 读入内存页速率:物理内存中每秒读入内存页的数目
ü 写出内存页速率:每秒从物理内存中写到页文件中的内存页数目或者从物理内存中删掉的内存页数目
ü 内存页交换速率:每秒写入内存页和从物理内存中读出页的个数
ü 进程入交换率:交换区输入的进程数目
ü 进程出交换率:交换区输出的进程数目
2.1.4.4 数据库级别的测试指标:
ü 数据库的并发连接数:客户端的最大连接数
ü 数据库锁资源的使用数量
2.1.5 测试数据准备
2.1.5.1 案例数据:满负荷压力
根据测试系统的硬件条件,选择满负荷的压力,在系统的资源使用基本维持在90%左右的状况下,测试xxx核心业务系统的处理能力。
数据准备工作包括:
1. xxxxx
2.1.6 运行状况记录
记录可扩展性测试中的测试结果及其系统的运行状况。除了记录测试指标以外,应该结合测试实时记录系统各个层次的资源和参数。主要包括:
ü 硬件环境资源
ü 服务器操作系统参数
ü 网络相关参数
ü 数据库相关参数:具体数据库参数有所不同,结合各个数据库独有的特点记录
3 第三章 测试过程及结果描述
xxxx务系统的性能测试共计执行了2次,两次执行的脚本流程作了调整,其他的环境和数据都一样。在测试数据准备完备以后,第一次测试中,操作流程为每次交易都执行用户登录操作,第二次测试中,操作流程为先进行用户登录,然后每次交易都不再执行用户登录。
3.1 测试描述
两次测试都是在12月22日凌晨进行的。
第一次测试执行了30分钟左右,执行脚本都是采用每次交易都执行登录操作,测试过程中,交易的执行速度随着测试的进行,越来越慢,交易的响应时间越来越长,交易出错(超时)情况也越来越严重,交易在执行到30分钟左右,用户登录交易开始大量失败(超时)并导致后续的交易都无法完成,于是终止本次测试。
第二次测试执行了50分钟左右,在第一次测试的基础上,调整交易流程,让每次交易都只登录一次,然后顺序执行交易逻辑。测试开始初期,交易的响应时间随着交易并发量的增加而快速增加,在测试执行了10分钟左右,所有的用户登录操作都基本完成,此后交易响应时间开始减少,并比较平稳的执行,绝大部分交易执行比较平稳成功率也很高,除了两个交易:xxx(Audit_Transaction)和xxx(ClaimRegister_Transaction),这两个交易的执行速度特别慢,交易相应时间一直都维持在190秒左右和160秒左右,这两个交易超时现象严重,交易成功率很低,很多交易都因为超时而失败。
3.2 测试场景
测试中,使用逐步加压的模式,采用:每隔2秒启动1个并发用户(Vuser)的方式,即:每隔1秒,启动1个Vuser,在7分钟左右启动所有的Vuser(200个),执行登录,并根据设置的时间间隔发起交易。
这次测试都部署在如下的场景中。
运行的脚本部署在3台PC机,主要目的就是检查在较大压力的情况下,xxxxx心业务系统的性能表现。
Ø 选择了2台PC,每台PC机部署了70个左右并发用户,
Ø 选择1台PC,部署60个左右的并发用户,并运行LoadRunner的控制器(Controller)
3.3 测试结果
两次测试AP服务器主机上的CPU利用率如下:
可以看出在两次测试执行中第一次(1:52 – 2:20)测试过程中CPU的利用率都几乎达到了100%,第二次测试中(2:45- 4:00)CPU的利用率也达到了95%以上。
两次测试在数据库(Oracle)服务器上主机上的CPU利用率如下:
可以看出两次测试执行中第一次(1:52 – 2:20)测试过程中CPU的利用率很低,第二次测试中(2:45- 4:00)CPU的利用率较高也达到了75%以上,但两次测试的CPU的IO等待时间却都比较高,IO和CPU利用率对照表如下:
可以看出两次测试执行中第一次(1:52 – 2:20)测试过程中CPU的IO等待率较低,因为大多数的交易都是用户登录,都压在AP服务器上了,第二次测试中(2:45- 4:00)CPU的IO等待率较高,都达到了80%以上。
两次测试的网络压力并不大,网络流量如下:
AP服务器监控的网络流量 DB服务器上监控的网络流量从图中可以看出,在10M的局域网中,网络流量并不大。
文章来源于领测软件测试网 https://www.ltesting.net/