当前位置: 首页 > news >正文

使用JMH对远程接口进行压测

在 《java中的基准测试框架JMH》中我们使用JMH框架进行Java SDK中的API的压测。
最近我又遇到了需要对第三方接口进行压测的需求,又用到了它。

JHM(Java Microbenchmark Harness)是OpenJDK团队开发的Java微基准测试框架,专门用于精确测量Java代码的性能,精度可以达到纳秒级别。

提供吞吐量、平均时间、采样时间等多种测试模式
自动进行预热处理,使JVM达到稳定状态
支持多线程测试,模拟真实并发场景

虽然它本身是针对JDK的,但是配合http框架也可以对远程API进行压测。

项目我放到网上了: https://github.com/davelet/local-load-test

用法是:

java -Dapi.baseUrl=http://localhost:8080 \-Dapi.endpoint=/api/v1/test \-Dapi.method=GET \-jar target/benchmarks.jar \-t 10 -wi 3 -w 5s -i 5 -r 10s \ApiLoadTestBenchmark

API配置参数(通过-D指定)

参数 说明 默认值
api.baseUrl API基础URL http://localhost:8080
api.endpoint API端点路径 /api/v1/test
api.method HTTP方法 GET
api.body 请求体(JSON) ""
api.headers HTTP Headers ""
api.connectionTimeout 连接超时(ms) 5000
api.socketTimeout 响应超时(ms) 10000

JMH性能测试参数(通过命令行选项指定)

参数 说明 默认值 示例
-t 并发线程数 1 -t 10
-wi 预热迭代次数 0 -wi 3
-w 每次预热时长 10s -w 5s
-i 测试迭代次数 1 -i 5
-r 每次测试时长 10s -r 10s
-f JVM fork次数 1 -f 1

更复杂和详细的说明可以参考 https://github.com/davelet/local-load-test/blob/develop/README.md

http://www.jsqmd.com/news/27497/

相关文章:

  • 基础排序算法(五)直接插入排序
  • 跟客宝 SCRM 微信小程序系统:一站式客户管理与销售赋能解决方案
  • 霸屏小店小程序系统:全场景电商裂变解决方案
  • 关于 plt.legend() 中 bbox_to_anchor 的理解
  • 网上售楼处小程序系统:全场景数字化营销解决方案
  • 给旧版 .NET 也开一扇“私有之门”——ILAccess.Fody 实现原理与设计
  • 当Dify遇见Selenium:可视化编排UI自动化测试,原来如此简单
  • Playwright与Selenium的对比
  • MLGO微算法科技发布多用户协同推理批处理优化系统,重构AI推理服务效率与能耗新标准
  • 2025 年 HDPE 土工膜,聚乙烯土工膜,糙面土工膜厂家最新推荐,产能、专利、环保三维数据透视!
  • 2025年汽油发电机生产厂家权威推荐榜单:静音发电机/施工发电机/高原发电机源头厂家精选
  • 泛微ecology-9流程功能的后续-流程明细导出
  • Core loss in maxwell
  • 西部数据MyCloud NAS漏洞分析与技术揭秘
  • Claude Skill官方仓库Skill解析
  • 2025年深圳市场调研机构权威推荐榜单:市场执行/市场调查/神秘顾客源头机构精选
  • 2025年乌鲁木齐黄金回收权威推荐榜单:黄金上门回收/黄金首饰回收/黄金首饰加工服务商精选
  • The lifelong path of human
  • 高压氧舱服务商推荐:探索2025年最佳服务选择,提升健康生活品质
  • 2025年郑州除甲醛公司权威推荐榜单:氧道净醛水漆/新房装修除甲醛/甲醛净化服务商精选
  • 2025年10月人形机器人落地商排名榜:赛飞特工程技术集团赋能榜
  • 2025 年健身器材品牌最新推荐榜,技术实力与市场口碑深度解析单位 / 家庭 / 有氧 / 力量健身器材推荐
  • 设计师必看!PS 2026 解锁 AI 修图新玩法:第三方模型 + 实时协作 + 显卡专属加速,效率直接拉满
  • 四大主流平台深度测评:2025 企业自动化运维平台选型指南,自动化巡检平台适配核心场景
  • FramePack: The Best Free Open-Source AI Video Generator for Long Videos in 2025
  • 如何编译一个Java 文件?
  • Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation
  • MovieDreamer Hierarchical Generation for Coherent Long Visual Sequences
  • 2025年10月印刷厂推荐:市场报告级评测排行榜单解析 2025年10月印刷厂推荐:全维度对比榜单及解决方案指南
  • Multi-identity Human Image Animation with Structural Video Diffusion