我们在做性能测试时需要根据性能需求配置不同的压测模式如:阶梯模式。使用jmeter时我们需要安装插件来配置测试模式,为了方便用户使用,RunnerGo内嵌了压测模式这一选项,今天给大家介绍一下RunnerGo的几种压测模式和怎么根据性能需求选择合适的压测模式。
RunnerGo提供了以下五种压测模式选择:并发模式、阶梯模式、错误率模式、响应时间模式、每秒应答数模式。
并发模式
可根据并发数设置按时间运行或按轮次运行,通过并发模式可以用来验证应用服务在固定并发数下的性能表现。比如,设计高流量交易系统或大规模并发用户系统时需要使用这种测试。
阶梯模式
可以设置起始并发数然后根据步长以及最大并发数,测试应用服务在各阶段的性能表现。当到达最大并发后,则继续运行稳定持续时长所设置的时长运行后结束该计划。阶梯模式测试可以帮助确定应用程序的性能能力,了解响应时间、吞吐量和负载的关系,从而调整系统参数和资源配置,以达到最优性能。这种测试通常适用于一些对实时性能有严格要求的系统,如金融交易、零售管理和在线游戏等。
举例: 如下图所示,当起始并发为20;并发数步长:30;步长持续时长:100秒;最大并发数:100;持续时长50秒。 则该配置运行逻辑为:20并发运行100秒,然后20+30=50并发,再运行100秒,然后50+30=80并发,再运行100秒,然后80+30=110并发,由于110并发超过了最大并发100,最后运行持续时长50秒; 一共运行了350秒(理论值)。
错误率模式
错误率模式会统计接口的错误率。如果场景中某一接口超过设置的错误率阈值,则计划自动停止;如到达最大并发数后,错误率仍没有超过错误率阈值,则继续运行稳定持续时长所设置的时长运行后结束该计划。错误率模式测试通常适用于一些对系统可靠性要求较高的应用场景,如金融交易、医疗健康和航空航天等。
如下图所示:在场景中的任务配置里选择错误率模式后,需要在具体的一个或多个接口块中选择错误率模式,并填写错误率阈值(错误率阈值为小数)。如填写的错误率阈值为0.001,则表示该接口错误率若大于或等于0.1%,那么该任务就会停止。 如果多个接口都设置了错误率模式,那么只要一个接口符合上述规则,则该任务会立即停止。
响应时间模式
根据场景中的所有接口响应时间为准,每个接口的响应时间均与设定的阈值进行对比。如果其中有一个接口达到大于设定的阈值后则并发数不再增加,并运行稳定持续时长所设置的时长运行后结束该计划;如果到达最大并发数后仍未达到设定的阈值,则继续运行稳定持续时长所设置的时长运行后结束该计划。响应时间模式测试通常适用于一些对系统速度和用户体验有严格要求的应用场景,如在线游戏、电子商务和视频流媒体等。
如下图所示:在场景中的任务配置里选择响应时间模式后,需要在具体的一个或多个接口块中选择响应时间模式,然后选择对应的响应时间节点50、90、95、100线或者101(平均响应时间),也可以自定义响应时间线。然后填写响应时间阈值。如下图我们选择了90响应时间线,阈值为1000ms(1秒),那么执行该计划后,如果该接口95%响应时间线大于所设置的阈值,那么则会立即停止该任务,如果没有设置或者未超过阈值,则继续按照任务配置运行。
每秒应答数模式
每秒钟发送并响应的接口数量(RPS)。计算方式:RPS=接口的总请求数*接口的并发数/响应总耗时,约等于:接口的并发数/平均响应时间(s)。RPS大于所设阈值时,并发数会增加到最大并发数,小于阈值时,会根据设置逐渐增加。每秒应答数模式测试通常适用于一些需要处理大量数据的应用场景,如数据处理、日志分析和流媒体处理等领域。
如下图所示:在场景中的任务配置里选择每秒应答数模式后,需要在具体的一个或多个接口块中选择每秒应答数模式,然后填写应答数阈值。如果该计划执行后,该接口的RPS(每秒应答数)大于所设阈值,那么并发数会直接增加到最大并发数:300,然后运行持续时长:300秒;如果多个接口设置了每秒应答数模式及阈值,那么已经设置的所有接口RPS都达到或超过阈值后,并发数会直接增加到最大并发数:300,然后运行持续时长:300秒。