如何在linux上做Java基准测试工具JMH测试

Posted 流子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在linux上做Java基准测试工具JMH测试相关的知识,希望对你有一定的参考价值。

上篇我们主要介绍了Java基准测试工具JMH高级使用,在windows上,我们结合IDE很容易跑性能测试,但是如果我们在linux 上,如何方便的去跑JMH性能测试呢?

首先,如果我们要通过JMH进行基准测试的话,直接在我们的gradle文件中引入JMH的依赖即可:

    dependencies 
        jmhCompile project
        jmhCompile 'org.openjdk.jmh:jmh-core:1.36'
        jmhAnnotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess::1.36'
    

然后,我们需要引入 gradle jmh 插件: jmh-gradle-plugin, 这里记住我们的gradle 版本为6.8.3,对应插件版本为0.6.8,但jmh可以升级到最高版本1.36

 apply plugin: "me.champeau.jmh";
 buildscript 
    repositories 
        maven 
            url = uri("https://plugins.gradle.org/m2/")
        
    
    dependencies 
        classpath("me.champeau.jmh:jmh-gradle-plugin:0.6.8")
    

    jmh 
        jvmArgs = ['-Dfile.encoding=UTF-8'];//为了让输出报告不至于乱码
        humanOutputFile = project.file("$project.buildDir/reports/jmh/human.txt") // human-readable output file
        resultsFile = project.file("$project.buildDir/reports/jmh/result.txt") // results file
    

然后,在命令行执行:

gradle  gamioo-cache:jmh  

等命令执行完成,就会生成两个报告,一个是生成的明细和结果human.txt,一个只包含结果result.txt。

Benchmark                   (type)   Mode  Cnt         Score          Error  Units
CacheBenchMark.cache         guava  thrpt    5  10068879.977 ±  6603108.991  ops/s
CacheBenchMark.cache:get     guava  thrpt    5   8968121.305 ±  6148450.420  ops/s
CacheBenchMark.cache:put     guava  thrpt    5   1100758.672 ±  1936783.318  ops/s
CacheBenchMark.cache      caffeine  thrpt    5  11674724.368 ± 11083096.255  ops/s
CacheBenchMark.cache:get  caffeine  thrpt    5   8464759.462 ±  6455055.722  ops/s
CacheBenchMark.cache:put  caffeine  thrpt    5   3209964.905 ±  4733849.104  ops/s

这样,我们就能在linux 上通过gradle 命令跑性能测试啦。

以上是关于如何在linux上做Java基准测试工具JMH测试的主要内容,如果未能解决你的问题,请参考以下文章

Java微基准测试工具JMH

Java基准测试工具JMH使用

Java基准测试工具JMH使用

Java基准测试工具JMH高级使用

涉及大量 Mysql 查询的 Java 代码的 JMH 基准测试

Java JMH 基准测试工具概述