freebencher - 性能测试工具


Apache
跨平台
Java

软件简介

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