【基准测试】虚拟机上 单线程 74 万 QPS / 双线程 145 万 QPS。但是我遇到了问题

1 阅读1分钟

大家好

我一直在开发一个名为gzb-one的全栈 Java 框架。最近我想针对框架做一个性能基准测试,

但我没有干净的测试环境 只能在虚拟机中进行压测,

虚拟机似乎存在不可控的波动 我应该怎么做 才能让压测结果尽可能稳定

举个例子:

启动命令: /home/kali/.jdks/graalvm-jdk-21.0.7/bin/java -jar gzb_one.jar

第一次压测 :1 个线程(qps:700k+) 2 个线程(qps:1400k+)

过一段时间后。。。。。

第二次压测 :1 个线程(qps:600k+) 2 个线程(qps:1200k+)

过一段时间后。。。。。

第三次压测 :1 个线程(qps:800k+) 2 个线程(qps:1600k+)

压测结果并不稳定 似乎是虚拟机波动?

还有诡异情况 重接口QPS某些时候 大于轻接口!怀疑是虚拟机的调度波动 详见压测报告

我正在寻求帮助:

服务端和压测端处于同一台虚拟机时,我怎么做能得到稳定的压测结果

有没有人有高核心数的裸机Linux ,帮我验证下框架的性能数据(手动狗头,卖萌*1)

目前的性能基准压测报告(含服务端程序,压测脚本,压测wrk原始输出,虚拟机环境,等详细信息):

gitee.com/gzb001001/g…