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
评论
