性能测试依赖
<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文件查看详情