一、压力测试场景
一般做压力测试时,分单场景和混合场景;
单场景即压测单个接口;多场景即有业务流程的情况;比如说一个购物流程为混合场景,就是有多个接口一起来做操作。
1、单场景,一个请求就可以了
2、混合场景,多个请求
3、压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定
二、压力测试数据准备
压测在设计场景的时要考虑到数据量大和数据量小的情况,因为两种的结果是不一样的;要测试数据量大的情况就需要造数据;可使用jmeter,操作数据库造数据,也可用python连接数据库,批量的造数据;
三、需求确认
在压测前,要确认压测的功能和指标,一般需要确认下面几个问题:
1、并发用户数,多少并发?
2、TPS(服务器每秒钟处理的请求数)目标是多少?响应时间有什么要求?
3、接口参数固定还是随机?
四、jmeter压测
1、压测的参数设置,主要在线程组中进行配置。循环次数不会改变并发数,只是延长了并发时间,总请求数=线程数*循环次数
2、结果查看(在聚合报告中查看压测结果)
五、压测结果分析
1、最大tps(tps是每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好):不断增加并发数,加到tps达到一定值开始出现下降时,那么这个值就是最大的tps
2、最大并发数:一般不断增大请求,直到响应请求超时时,可认为该值为最大并发数
3、响应时间(每个请求的处理时间):响应时间是否在可接受范围内
4、有错误时确认是否允许错误的发生或错误率允许的范围