Java JMH测试与JMeter测试的区别及说明
更新时间:2025年08月30日 08:58:36 作者:学亮编程手记
JMH专注微观基准测试,测量Java代码性能;JMeter用于宏观性能测试,评估系统负载与压力,两者互补,JMH优化关键代码,JMeter验证整体性能
Java JMH 测试与 JMeter 测试的区别
JMH (Java Microbenchmark Harness) 和 JMeter 是两种完全不同的测试工具,
主要区别如下:
1. 测试类型
- JMH:专注于 微观基准测试 (Microbenchmarking),用于测量小段 Java 代码的性能(如方法、算法)
- JMeter:专注于 宏观性能测试,主要用于 Web 应用、API、数据库等的负载测试和压力测试
2. 测试粒度
- JMH:纳秒/微秒级精度,测量非常细粒度的性能
- JMeter:秒级精度,测量系统整体性能
3. 主要用途
JMH:
- 比较不同算法的性能
- 优化热点代码
- JVM 特性分析(如 JIT 编译效果)
JMeter:
- 测量系统吞吐量
- 确定系统在高负载下的行为
- 功能测试和回归测试
4. 执行方式
- JMH:在 JVM 内部运行,需要编写 Java 代码
- JMeter:从外部模拟用户请求,通常通过 GUI 配置
5. 报告指标
- JMH:操作耗时(纳秒/微秒)、吞吐量(ops/秒)、JVM 相关指标
- JMeter:响应时间、吞吐量(请求/秒)、错误率、系统资源使用情况
6. 典型使用场景
- 使用 JMH:当你需要知道
HashMap.get()和TreeMap.get()哪个更快 - 使用 JMeter:当你需要知道你的网站能否承受 1000 个并发用户
两者可以互补使用 - JMH 优化关键代码,JMeter 验证整体系统性能。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JDK13.0.1安装与环境变量的配置教程图文详解(Win10平台为例)
这篇文章主要介绍了JDK13.0.1安装与环境变量的配置教程图文详解(Win10平台为例),本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-01-01
关于springboot中对sqlSessionFactoryBean的自定义
这篇文章主要介绍了springboot中对sqlSessionFactoryBean的自定义方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12
SpringBoot集成ShardingSphere-JDBC实现分库分表
本文主要介绍了SpringBoot集成ShardingSphere-JDBC实现分库分表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2025-07-07
springboot打包不同环境配置以及shell脚本部署的方法
这篇文章主要给大家介绍了关于springboot打包不同环境配置以及shell脚本部署的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用springboot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-03-03


最新评论