运行结果: 每个10秒钟,打印一次结果。其中报告当前10s中的平均TPS,及平均响应时间RT,以及目前为止最大的响应时间Max RT。
package com.xxx.benchmarker;
import java.util.LinkedList;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicLong;
/**
* BaseBenchMarker(压测统计类)
* 业务方需要继承该类,覆盖toBeTestMethod方法即可
*
* @author tantexian
* @since 2018/7/3
*/
public abstract class BaseBenchMarker {
public void startup(int threadCount) throws Exception {
System.out.printf("start ... threadCount == %d ---->>>>(请覆盖toBeTestMethod()方法为自定义测试逻辑)\n", threadCount);
final ExecutorService sendThreadPool = Executors.newFixedThreadPool(threadCount);
final StatsBenchmark statsBenchmark = new StatsBenchmark();
final Timer timer = new Timer("BenchmarkTimerThread", true);
final LinkedList snapshotList = new LinkedList();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
<