中文使用说明 - xincao9/ptk GitHub Wiki

ptk (压测工具集)

基于java的容易使用的压力测试套件

logo

特点

  • 小巧灵活,没有任何第三方依赖
  • 扩展性好,可以自定义数据源
  • 压测代码很方便在一个项目中管理,压测时根据命令指定压测方法
  • 经过项目中长期使用,压测的准确度高
  • 打包为可执行jar,方便在任何地方使用

Maven 依赖

<dependency>
    <groupId>com.github.xincao9</groupId>
    <artifactId>ptk-core</artifactId>
    <version>1.0</version>
</dependency>

com.github.xincao9.ptk.core.Source

数据源:用于测试的数据集合。默认,Source 实现 FileSource和SequenceSource

如果自定义

public class D {

    private final int id;

    public D(int id) {
        this.id = id;
    }

    public int getId() {
        return this.id;
    }
}
public class SourceD implements Source {

    @Override
    public int read() {
        for (int i = 1; i < 5000; i++) {
            Worker.submit(new D(i)); // 写入到压测数据池
        }
        return 5000;
    }

}

com.github.xincao9.ptk.core.Method

测试方法:用于压测的代码块

@Test(name = "MethodD")
public class MethodD extends Method {

    @Override
    public void exec(Object params) {
        D d = (D) params;
        Logger.info(d.getId());
    }

}

启动方法

PTKCore.bootstrap(new SourceD(), args);

命令行执行

java -jar ptk-sample/target/ptk-sample-1.0.jar
1.cmd -[c, t, m] value
2.com.github.xincao9.ptk.core.Source 接口必须实现, 实现为读取数据源
3.com.github.xincao9.ptk.core.Method 接口必须实现且需要使用@Test 标识, 实现为需要测试的代码块
4.com.github.xincao9.ptk.core.Result 接口不必须实现, 通过它可以将测试结果输出到自己的系统中
5.-c 并发数限制 0 < concurrent <= 1024 默认 CPU核心数
6.-t 请求延时限制 cd > 0 默认 0ms; 建议阻塞调用设置小点, 计算密集调用设置大点, 小于0 为永不延时
7.-m 测试的方法类

java -jar ptk-sample/target/ptk-sample-1.0.jar -m MethodD -c 2 -t -1

联系方式

⚠️ **GitHub.com Fallback** ⚠️