freebencher - 性能测试工具

gu365377 9年前

Freebencher 是一个极其灵活易用的性能测试工具。之所以灵活,是因为你可以用任意 Java 代码来写性能测试用例,你可以测试任何可以用 Java 代码来表示的行为,你可以用任何你自己喜欢的方式在测试时获取你的测试数据。

生成的结果类似于 apache ab 的结果, 使用你喜欢的 concurrency,qps 等概念。

你可以通过 Maven 把 freebencer 迅速导入到你的项目中,调用你自己的业务方法,而不是像 Jmeter 一样,把你的类文件别扭地复制到它的目录中。

例:

    @Test      public void testLogin() {            final List<User> userList = new ArrayList<User>();          ...//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

官方网站:http://www.open-open.com/lib/view/home/1454038194089