设计性能测试场景

Posted by Tesla9527 on November 26, 2017

单事务基准测试

1
2
3
4
5
6
7
8
9
10
11
目的:确认脚本的可用性,获取系统理论最快响应时间,为之后的测试提供参考依据
场景设置:并发数:1
		  场景执行时间:5分钟
		  思考时间:无
		  Log:无
		  Pacing:0
		  挡板延迟:无
		  初始化用户:1
		  用户退出:立即
		  其他设置默认
输出:响应时间		成功率

单事务负载测试

1
2
3
4
5
6
7
8
9
10
11
12
目的:通过不断增加并发用户数(从1个用户开始,每秒增加一个用户),获取单个事务最大TPS。然后用刚达到最大TPS值时的用户数(假设为X)做并发测试,
同时监控各交易的响应时间,系统资源占用等情况
场景设置:并发数:x
		  场景执行时间:20分钟
		  思考时间:无
		  Log:无
		  Pacing:0
		  挡板延迟:无
		  初始化用户:x
		  用户退出:立即
		  其他设置默认
输出说明:并发用户数	TPS    响应时间		CPU(应用服务器)	CPU(数据库服务器)		MEM(应用服务器)	MEM(数据库服务器)

异步单事务负载测试

1
异步交易的TPS要通过数据库中的方式去计算,假设开始时间为x,结束时间为y,通过数据库中对应业务表的计算,完成的事务数为z,则tps=z/(y-x)

混合事务负载测试

1
2
3
4
5
6
7
8
9
10
11
目的:考察各事务间是否存在业务逻辑冲突,用于发现潜在的,由于应用程序模块执行时互相影响造成的性能问题,例如线程互锁,数据库锁等情况,以及系统的最大处理能力
场景设置:并发数:1,2,3,4,5...
		  场景梯度执行时间:20分钟
		  思考时间:无
		  Log:无
		  Pacing:以交易响应时间计算动态调整
		  挡板延迟:无
		  初始化用户:1,每秒增加1个用户
		  用户推出:立即
		  其他设置默认	
输出说明:并发用户数	TPS    响应时间		CPU(应用服务器)	CPU(数据库服务器)		MEM(应用服务器)	MEM(数据库服务器)

稳定性测试

1
2
3
4
5
6
7
8
9
10
11
目的:稳定性测试按照混合事务最大处理能力的60%压力(混合事务负载测试最大TPS*60%),进行72小时持续不断的测试,同时获取响应时间,TPS,成功或失败事务数,各服务器的资源占用情况,并同时考察系统在长时间压测过程中是否会出现宕机,服务挂起,内存泄漏,CPU利用率瞬间异常过高,数据库读写较慢,TPS波动较大等异常现象。若出现性能问题,需开发和相关技术人员进行性能优化,直至系统能长时间稳定运行。
场景设置:TPS:混合事务负载测试最大TPS*60%
		  场景执行时间:72小时
		  思考时间:无
		  log:无
		  Pacing:1
		  挡板延迟:无
		  初始化用户:1,每秒增加1个用户
		  用户推出:立即
		  其他设置默认
输出说明:并发用户数	TPS    响应时间		CPU(应用服务器)	CPU(数据库服务器)		MEM(应用服务器)	MEM(数据库服务器)

监控

1
2
3
4
dstat
top
nmon
nmonanalyser