跳过正文
  1. 文章/

基于 JMeter 的压测工具的实现

haifeiWu
作者
haifeiWu
北京后端开发者,热爱分布式系统、中间件与 AI 工程,正在深入学习 Go 与 Rust。

📌 本文原发布于掘金社区:基于 JMeter 的压测工具的实现

JMeter Web 化
#

代码说明文档
JMeter WEB 项目使用说明文档

JMeter Web 项目使用指南
#

  • 项目的内网访问地址:http://10.2.250.202:9099/JmeterWEB/

  • 打开链接,你会看到如下界面(请大家尽量使用 chrome 浏览器):image

  • 在界面中选择对应的选项卡:(目前只支持 HTTP 模板,自定义脚本上传,测试相应结果两个选项卡),HTTP 模板是根据页面选择的参数生成 jmx 文件,自定义脚本是用户直接上传 jmx 脚本。

  • 下图是执行脚本的页面,在页面中可以选择在本地执行与在远程机执行(远程机执行是指在 3 台机器上同步执行脚本,比如你的脚本是 10 个线程,选择两台远程机再加上本机就相当于执行 30 个线程)。其他两台远程机器的 IP 是 10.2.250.203:1099,10.2.250.204:1099。image

  • 生成的测试报告如下图所示。image

  • 查看 Response 和 request 的数据 image

  • JMeter3.0 提供一个用于生成 HTML 页面格式图形化报告的扩展模块。该模块支持通过两种方式生成多维度图形化测试报告:在 JMeter 性能测试结束时,自动生成本次测试的 HTML 图形化报告;使用一个已有的结果文件(如 CSV 文件)来生成该次结果的 HTML 图形化报告。其默认提供的度量维度包括:

  1. APDEX(Application Performance Index)指数

  2. 聚合报告
    类似于UI上的Aggregate Report

  3. Errors 报告
    展示不同错误类型的数量以及百分比

  4. 响应时间变化曲线 展示平均响应时间随时间变化情况
    类似于JMeter Plugins在UI上的jp@gc - Response Times Over Time

  5. 数据吞吐量时间曲线
    展示每秒数据吞吐量随时间变化的情况 类似于JMeter Plugins在UI上的jp@gc - Bytes Throughput Over Time

  6. Latency time 变化曲线
    展示Latency time随时间变化的情况
    类似于JMeter Plugins在UI上的jp@gc - Response Latencies Over Time

  7. 每秒点击数曲线
    类似于JMeter Plugins在UI上的jp@gc - Hits per Second

  8. HTTP 状态码时间分布曲线
    展示响应状态码随时间的分布情况
    类似于JMeter Plugins在UI上的jp@gc - Response Codes per Second

  9. 事务吞吐量时间曲线(TPS)
    展示每秒处理的事务数随时间变化情况
    类似于JMeter Plugins在UI上的jp@gc - Transactions per Second

  10. 平均响应时间与每秒请求数的关系图
    展示平均响应时间与每秒请求数(可以理解为QPS)的关系

  11. Latency time 与每秒请求数的关系图
    展示Latency time与每秒请求数的关系

  12. 响应时间百分位图
    响应时间的百分位分布图

  13. 活动线程数变化曲线
    展示测试过程中活动线程数随时间变化情况

  14. 平均响应时间与线程数的关系图
    展示平均响应时间与线程数的关系 类似于JMeter Plugins在UI上的jp@gc - Response Times vs Threads

  15. 柱状响应时间分布图
    展示落在各个平均响应时间区间的请求数情况

相关文章