9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

通过 JMeter 和 Ant 实现自动负载测试

  • 2008-04-25
  • 本文字数:1469 字

    阅读完需:约 5 分钟

Stelligent 公司 CTO Paul Duvall 在“人性自动化 Automation for the people )”系列文章中提到,如何把 JMeter 和 Ant 跟持续集成服务器集成到一起,让开发者快速地决断开发的系统在特定负载条件下的行为是否正确,及其是否适应所做的修改。Duvall 首先列举了一些这类测试所能度量的标准:

  • 有多少并发用户能够访问你的软件系统?
  • 可以加载多少数据而不会导致性能下降?
  • 系统的吞吐量需求是怎样的?
  • 这些需求的测试周期有多久?
  • 如果你能确定并验证每天至少满足一次负载和性能的需求,那会怎样?

Duvall 补充道,CI(持续集成)服务器计划执行的自动化测试每天可以在机器利用率较低的时候运行,同时,这也可以“减少当你依赖个人来配置和运行这些测试时所导致的瓶颈和错误”。他描述了建立这样一个环境所需的主要步骤有:1. 运行 JMeter 并创建一个测试计划 JMeter 是 Apache 项目,是用来负载功能测试和性能测试的 Java 工具。它同时提供 GUI 和命令行两种调用方式,可以执行由测试计划定义的各种负载测试。它附带的测试计划范例包括 Web 测试计划,FTP 测试计划,Web service 测试计划等等。这些测试计划可以通过 GUI 接口搭建,最后以 XML 格式的保存。这样一来,它将所需配置的值进行参数化,用户因此可以定制运行测试的方式。

2. 使用 Ant 驱动 JMeter 测试。在已经写好的实现的基础上,定义一个JMeter 的Ant 任务,比如"",然后从Ant 运行JMeter 的负载测试。Duvall 提供了一个在BreweryTestPlan.jmx 文件(测试计划的XML 格式)中定义的测试搭建示例:

<pre id="yhqg"><jmeter<br id="d9:v"></br>  jmeterhome="${jmeter.home}"<br id="ik2o"></br>  resultlog="${basedir}/target/JMeterResults.xml"><br id="s-.d"></br>  <testplans includes="BreweryTestPlan.jmx" dir="${basedir}/tests/load"><br id="qc55"></br>  </testplans><br id="mvw3"></br></jmeter><br id="pc8v"></br>
3. 通过 XSLT 和 HTML 修饰测试结果报告。Duvall 接着演示了测试的输出结果——JMeterResults.xml——它可以通过 JMeter 的 extras 目录中提供的 XSLT 脚本将该结果转换成 HTML 报告。生成的报告上显示了每次负载测试运行的结果,包括测试状态、时间、集合状态以及所有测试花费的时间。4. 定制 JMeter 测试。运行测试的方式可以通过修改参数和属性来进行定制。为了让测试适应特定环境的需求(比如测试或者分段),用户可以在.jmx 文件中标记一些记号,然后在运行该测试之前,根据环境需要对这些记号进行过滤和修改。Duvall 还演示了如何增加 JVM 内存并指定线程和循环的数目。

5. 在 CI 环境中集成 JMeter 测试。Duvall 提供了一个与持续集成服务器 CruiseControl 集成的例子:在每天上午 11 点时运行 build:

<pre id="ka5e">...<br id="ji1s"></br><modificationset><br id="b:j:"></br>  <svn repositorylocation="${svnrepo.location}"><br id="anf3"></br>  <timebuild time="2300"/><br id="rpwj"></br>... <br id="kcl7"></br>  </svn><br id="tw5y"></br></modificationset> 如果在 CruiseControl 的 config.xml 文件中添加几行适当的代码,JMeter 的测试结果报告就可以在 CruiseContrl 项目的 dashboard 中看到。Krik Pepperdine 在 InfoQ 上的文章迭代、自动化和持续性能 Iterative, Automated and Continuous Performance )中谈及了持续性能 [测试](Continuous Performance),Steve Haines 的持续性能管理 continuous performance management presentation ,可下载 ppt)中也涉及到了这个话题。

查看英文原文: Hands-off Load Testing with JMeter and Ant

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2008-04-25 00:053094
用户头像

发布了 127 篇内容, 共 40.7 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

Clean Start与Session Expiry Interval - MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 客户端 企业号 3 月 PK 榜

在深圳龙岗,看见空间智能化的潮水涌动

脑极体

全屋智能

人工智能+低代码,打通AI落地的最后“一公里”

明道云

再有人问你什么是分库分表,直接把这篇文章发给他

做梦都在改BUG

Java 分库分表

赞不绝口!仅靠阿里P9分享的 Redis 工作手册,拿到60W年薪Offer

做梦都在改BUG

Java 数据库 redis 缓存 面试

一文彻底弄清楚分布式锁

做梦都在改BUG

Java 分布式锁

2022 IoTDB Summit:Apache IoTDB PMC 张金瑞《为物联网场景优化的时序数据库共识协议》

Apache IoTDB

大数据 IoTDB

JDK 环境配置

流火

Java centos jdk window

图像的滤波与图像增强的Matlab实现

timerring

数字图像处理

高性能存储SIG月度动态:ANCK 5.10正式支持ublk、erofs容器镜像按需读时延优化60%

OpenAnolis小助手

操作系统 高性能存储 龙蜥社区 sig

架构实战营模块1第3课 - 什么是面向复杂度架构设计

净意

LeetCode题解:2373. 矩阵中的局部最大值,遍历,详细注释

Lee Chen

JavaScript LeetCode

ClickHouse 与 Amazon S3 结合?一起来探索其中奥秘

亚马逊云科技 (Amazon Web Services)

开源如何推动云计算的发展与创新 | 雨林开源行

开源雨林

开源 kubenetes OpenStack

零基础如何学习Web 安全,如何让普通人快速入门网络安全?

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

在文心一言出生地,百度悄悄燃烧AI小宇宙

白洞计划

百度 文心一言

会声会影2023中文最新版消息

茶色酒

会声会影2023

ChatGPT Turbo API 18元/100万个单词

kcodez

openai ChatGPT

得物供应链复杂业务实时数仓建设之路

小小怪下士

Java 程序员 后端

SpringBoot+ThreadPoolTaskExecutor 批量插入百万级数据实测

做梦都在改BUG

Java Spring Boot 多线程 ThreadPoolTaskExecutor

新必应(New Bing)申请出错终极方案

kcodez

微软 ChatGPT New Bing

字字珠玑!GitHub爆赞的网络协议手册,被华为大佬指定内部必学?

做梦都在改BUG

Java 计算机网络 网络协议

2022 IoTDB Summit:IoTDB PMC 曹高飞《Apache IoTDB 秒级扩容能力与存算分离实践》

Apache IoTDB

数据库 IoTDB

【我在京东做研发】揭秘支撑京东万人规模技术人员协作的行云DevOps平台

京东科技开发者

Portraiture4中文免费ps滤镜磨皮插件

茶色酒

Portraiture3

FL Studio2023免费中文版数字音频工作站软件

茶色酒

FL Studio2023

堪称神级!GitHub上标星157K的Java教程,全程干货,只讲重点

做梦都在改BUG

Java

Hypium框架使能ArkTS应用高效测试

HarmonyOS开发者

HarmonyOS

2022 IoTDB Summit:IoTDB PMC 田原《大规模并行处理与边缘计算在 Apache IoTDB 中的实践》

Apache IoTDB

数据库 IoTDB

老铁们看过来!2023首场昇腾AI开发者创享日来到“东北黑土地”沈阳

科技热闻

MongoDB写入数据策略

NineData

nosql mongodb Journaling 写入策略 读策略

  • 扫码添加小助手
    领取最新资料包
通过JMeter和Ant实现自动负载测试_Java_Alexander Olaru_InfoQ精选文章