·3.2.3、采样方法
采样方法分为周期方法和快照方法,在预备测试中采用周期方法,在正式测试时采用快照方法。
周期方法:周期为一个模拟用户对一个测试脚本的完整执行。
快照方法:基于时间的数据视图,收集一段指定时间的数据;需要定义采样时间、制定样本数。
·3.2.4、数据的排除
在测试时多执行几个周期,排除系统运行不稳定的数据,采用稳定时期的数据。
·3.2.5、预备测试
运行测试脚本,验证脚本的正确性。The Grinder产生测试压力,模仿用户的操作执行脚本。观察The Grinder的图形控制平台,对系统运行不稳定的数据进行排除。
Agent Processes:2个
Worker Processes:1个
Threads=100
总访问量=2*1*100
测试时间:30分钟
系统在30分钟内运行稳定正常,内存、CPU占用率不高。
·3.2.6、正式测试
数据准备:在测试之前需要确认系统中有3000用户的账号和密码。
客户端配置文件的压力参数:
grinder.processes=1 # 设置一个进程
grinder.threads=200 # 设置200个线程
grinder.runs=0 # 表示脚本始终运行
grinder.consoleHost=192.168.0.5 # 图形控制平台的机器IP
grinder.consolePort=6372 # 图形控制平台的控制端口
grinder.useConsole=true # 是否接受图形控制平台的控制,
true表示接受
上述压力参数表示,每个客户端都会产生200个线程的压力,即模拟200用户登录系统。
模拟客户端产生测试压力,压力逐渐增加,一个小时内将压力从0逐步增加为3000
假设测试在8:00开始
经过一个小时的逐步加压,系统达到并发3000用户同时访问系统。运行一段时间后记录当前时间值,便于分析结果是做数据取舍。再运行一个小时,逐步减压后结束测试。
重复测试两遍,对结果进行分析比较。如果结果差距较大,则模拟3000人并发登陆系统测试过程不可信,如果结果差距较小,则测试数据可信度较高,可以通过数据分析系统的压力承受情况。