freebencher性能测试工具
Freebencher 是一个极其灵活易用的性能测试工具。之所以灵活,是因为你可以用任意 Java 代码来写性能测试用例,你可以测试任何可以用 Java 代码来表示的行为,你可以用任何你自己喜欢的方式在测试时获取你的测试数据。
生成的结果类似于 apache ab 的结果, 使用你喜欢的 concurrency,qps 等概念。
你可以通过 Maven 把 freebencer 迅速导入到你的项目中,调用你自己的业务方法,而不是像 Jmeter 一样,把你的类文件别扭地复制到它的目录中。
例:
@Test public void testLogin() { final List userList = new ArrayList(); ...//preparing userList to be used as test data. FbJobResult result = Freebencher.benchmark(new FbTarget() { //the behavior @Override public boolean invoke() { User user = userList.get(RandomUtils .nextInt(userList.size())); int statusCode = remoteServiceToTest.doLogin(user.getUsername(), user.getClearPassword()); return statusCode == 200; } }, 5, // concurrency, 50 // number of tests to run ); System.out.println(result.report()); }
得到结果:
Test started. Awaiting termination... Test completed. Concurrency: 5 Time taken for tests: 119ms Successful tests: 50 Failed tests: 0 Tests per second: 420.16806722689074 Mean time per test: 11.38ms Percentage of the test finished within a certain time (ms) 50%: 11 60%: 12 70%: 12 80%: 13 90%: 14 95%: 14 98%: 14 99%: 16 100%: 16
评论