关于java:ContiPerf性能测试

43次阅读

共计 1172 个字符,预计需要花费 3 分钟才能阅读完成。

性能测试依赖

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.databene</groupId>
        <artifactId>contiperf</artifactId>
        <version>2.1.0</version>
        <scope>test</scope>
    </dependency>

测试

/**
 * 主要参数介绍
 * 1、PerfTest 参数
 * @PerfTest(invocations = 300):执行 300 次,和线程数量无关,默认值为 1,示意执行 1 次;* @PerfTest(threads=30):并发执行 30 个线程,默认值为 1 个线程;* @PerfTest(duration = 20000):反复地执行测试至多执行 20s。* 2、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;
 * @Required(percentiles = "66:200,96:500"):要求 66% 的测试不超过 200ms,96% 的测试不超过 500ms。*/
@PerfTest(invocations = 1000, threads = 40)
@Required(max = 1200, average = 250, totalTime = 60000)
public class ContiPerfTest {
    @Rule
    public ContiPerfRule i = new ContiPerfRule();

    @Test
    public void test1() throws Exception {System.out.println(Thread.currentThread().getName());
        Thread.sleep(1300);
        System.out.println(Thread.currentThread().getName());
    }
}

执行完生成 html 文件查看详情

正文完
 0