压测工具---ContiPerf

目录

  • 简介
  • 使用
    • 引入jar包
    • 测试用例
    • PerfTest参数说明
    • Required参数说明
    • 名词解释:TP90
  • 报告查看
    • 指标

1. 简介

ContiPerf 是一个轻量级的测试工具,基于JUnit 4 开发。可以指定在线程数量和执行次数,通过限制最大时间和平均执行时间来进行性能测试,并且可以生成report,帮助做性能分析。

2. 使用

2.1 引入jar包

testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.databene:contiperf:2.3.4')

2.2 测试用例

@RunWith(SpringRunner.class)
@SpringBootTest
public class ProductReceiveOrderServiceImplTest {
    @Autowired
    private IProductReceiveOrderService productReceiveOrderService;
    //激活ContiPerf
    @Rule
    public ContiPerfRule i = new ContiPerfRule();
    @Test
    //指定调用次数/线程数
    @PerfTest(threads = 20,invocations=30000)
    //指定每次执行的最长时间/平均时间/总时间
    @Required(max = 1200, average = 250, totalTime = 60000) 
    public void testQueryOrder(){
        System.out.println("begin ...");
        productReceiveOrderService.init("name");
    }
}

2.3 PerfTest参数说明

参数说明
@PerfTest(invocations = 300)执行300次,和线程数量无关,默认值为1,表示执行1次
@PerfTest(threads=30)并发执行30个线程,默认值为1个线程
@PerfTest(duration = 20000)重复地执行测试至少执行20s

2.4 Required参数说明

参数说明
@Required(throughput = 20)要求每秒至少执行20个测试
@Required(average = 50)要求平均执行时间不超过50ms
@Required(median = 45)要求所有执行的50%不超过45ms
@Required(max = 2000)要求没有测试超过2s
@Required(totalTime = 5000)要求总的执行时间不超过5s
@Required(percentile90 = 3000)要求90%的测试不超过3s
@Required(percentile95 = 5000)要求95%的测试不超过5s
@Required(percentile99 = 10000)要求99%的测试不超过10s

2.5 名词解释:TP90

指在一个时间段内(如5分钟),统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第90%的那个值作为TP90 值;配置此监控指标对应的报警阀值后,需要保证在这个时间段内该方法所有调用的消耗时间至少有90%的值要小于此阀值,否则系统将会报警

3. 报告查看

contiperf-report目录,里面有个index.html文件就是测试结果

3.1 指标

指标说明
Execution time执行总时间
Total invocations总请求数
Throughput每秒效率 TPS
Min. latency最短响应时间
Average latency平均响应时间
MedianTP50响应时间
90%TP90响应时间
Max latency最长响应时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值