持续集成是软件开发生命周期中至关重要的一部分,而性能监控是持续集成的关键部分。我们将学习如何使用流行的 Jenkins 自动化服务器和 Apache JMeter 负载和性能测试工具设置性能监控。
持续集成 (CI) 系统编排和自动化软件构建、测试和部署流程。CI 系统
- 监控源代码仓库。
- 在检测到代码更改时运行构建。
- 对编译后的软件运行测试(单元测试、验收测试、自动化测试、性能测试、集成测试)。
- 生成工件(二进制文件、文档、安装包)。
凭借这些优势,难怪 CI 系统被软件开发公司广泛采用,成为现代软件开发生命周期的重要组成部分。
通过在您的工作流程中实施 CI,您已经完成了 Joel Spolsky 编写更好代码的 12 个步骤中的前三项。如果您不熟悉 Joel Spolsky,他是一位著名的开发人员,也是 Stack Overflow 的联合创始人,他为现代软件开发工作流程设定了标准。他的清单包括
- 您是否使用源代码控制?
- 您能否一步完成构建?
- 您是否每天进行构建?
为什么性能测试在 CI 流程中很重要
将性能测试添加到您的 CI 范围可以降低在添加新功能或修复产品中的错误时发生性能下降的风险。
例如,如果最新的提交无意中导致响应时间超过可接受的阈值或服务级别协议 (SLA),您的 CI 系统将自动发出红色警报并将构建标记为失败。这使得很容易识别导致此问题的原因。
最好在软件开发的早期阶段运行性能测试。如果在预发布阶段检测到重大错误,则将更难识别和修复问题。
JMeter 和 Jenkins 是性能测试和 CI 的领先工具。它们都是开源的,拥有出色的文档和庞大而活跃的社区。
如何安装 Jenkins 和 JMeter 插件
如果您尚未安装 Jenkins,请按照以下步骤快速启动并运行。
- 下载最新的 Jenkins 版本(.war 文件应该就足够了)。
- 以 java -jar jenkins.war 运行 Jenkins,并等待“Jenkins is fully up and running”消息。
- 在您的 Web 浏览器中打开 http://localhost:8080。
- 您现在应该能够看到 Jenkins 仪表板。
要在 Jenkins 上获得 JMeter 支持,您需要使用 Performance Plugin。方法如下
- 下载 插件的最新版本。
- 将 performance.hpi 文件复制到 Jenkins 安装的 plugins 文件夹。如果您从 .war 文件运行 Jenkins,请将插件复制到您的主文件夹下的 .jenkins/plugins 路径。
- 重启 Jenkins 以检测和加载插件。
- 如果安装正确,您应该在 Jenkins -> 您的项目 -> 配置 -> 添加构建后操作 下拉菜单中看到 发布性能测试结果报告 选项。
如何在 Jenkins 中运行 JMeter 测试
在 Jenkins 中运行 JMeter 测试不是很复杂。只需记住,测试必须从命令行运行。对于您的前几次运行,您应该配置 JMeter 以 XML 格式存储其结果
- 将 jmeter.save.saveservice.output_format=xml 行添加到 JMeter 安装的 /bin 文件夹中的 user.properties 文件中。
- 通过 -J 命令行参数传递属性,例如:C:\jmeter\bin\jmeter.bat -Jjmeter.save.saveservice.output_format=xml -n -t C:\jmeter\extras\Test.jmx -l Test.jtl
以下是配置 Windows 批处理命令以运行 JMeter 测试的外观
要验证执行是否成功,或者获取有关任何问题的额外信息,请检查项目的控制台输出选项卡。
您可以在项目的 Workspace 下找到 JMeter 日志文件和 .jtl 结果文件。
如何使用 Performance Plugin
Performance Plugin 显示统计信息、趋势,并可用于根据结果将构建标记为失败。请按照以下步骤将其添加到您的项目
- 打开 Jenkins 项目。
- 单击配置按钮。
- 单击添加构建后操作按钮。
- 选择 JMeter 以 XML 格式输出结果。
现在您已经自动化了性能测试,可以花更多时间改进您的软件,而不是与识别性能问题作斗争。
2 条评论