JMeter/README.md

7.5 KiB
Raw Permalink Blame History

欢迎查阅Apache JMeter性能自动化测试框架体系

  • JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试它最初被设计用于Web应用测 试但后来扩展到其他测试领域
    • 可用于压力测试及性能测试数据库测试Java程序的测试HTTP及FTP测试Web Service测试等等
    • 可用于对静态的和动态的资源文件ServletPerl脚本java 对象数据库和查询FTP服务器等等的性能进行测试
    • 可用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的 强度和分析整体性能
    • 可用于对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果

源码地址:

Gitee地址https://gitee.com/hagyao520/JMeter.git
GitHub地址https://github.com/hagyao520/JMeter.git

框架介绍:

  • Jmeter + Grafana + InfluxDB2.x + Prometheus + Node_Exporter + Dat + Excel + Jenkins
    • 使用 JMeter 作为性能测试工具,负责压力测试和负载测试
    • 使用 Grafana 作为WEB可视化平台拥有丰富的指标仪表盘和图形编辑器
    • 使用 Influxdb 作为一个开源的分布式时序、时间和指标数据库使用go语言编写无需外部依赖
    • 使用 Prometheus 作为系统监控和报警系统
    • 使用 Node_Exporter 作为性能数据采集工具
    • 使用 Dat 作为数据参数化文件以供JMeter调用
    • 使用 Excel 作为测试报告数据管理工具,方便统计数据,进行数据分析生成报表
    • 使用 Jenkins 作为自动化持续集成平台,方便自动编译,自动打包,自动运行测试脚本,邮件发送测试报告

主要特性:

  1. 能够对HTTP和FTP服务器进行压力和性能测试 也可以对任何数据库进行同样的测试通过JDBC
  2. 完全的可移植性和100纯java高可扩展性
  3. 完全 Swing 和轻量组件支持预编译的JAR使用 javax.swing.*)包
  4. 完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样
  5. 精心的GUI设计允许快速操作和更精确的计时
  6. 缓存和离线分析/回放测试结果
  7. 可链接的取样器允许无限制的测试能力具有提供动态输入到测试的功能包括Javascrīpt
  8. 各种负载统计表和可链接的计时器可供选择
  9. 数据分析和可视化插件提供了很好的可扩展性以及个性化
  10. 支持脚本变成的取样器在1.9.2及以上版本支持BeanShell

环境配置:

  1. JDK11
  2. Jmeter
  3. Grafana
  4. InfluxDB2.x
  5. Prometheus
  6. Node_Exporter
  7. Jenkins

测试实例:

  • JMeter里面的元件很多逻辑控制器配置元件定时器Sampler监听器等等先给出一个实例慢慢了解元件的使用方法。测试一个网站我们至少需要用户发送请求查看结果这三个过程

一、添加线程组

  • 在“测试计划”上右键,选择“添加”---“Thread Users”---“线程组”,如下图所示:

  • 其中对我们有影响的参数是线程数设置发送请求的用户数目Ramp-up period 每个请求发生的总时间间隔单位是秒循环次数请求发生的重复次数。如果我们需要JMeter模拟五个请求者也就是五个线程每个请求者连续请求两次则如下图设置

二、添加请求

  • 我们要访问一个网页比如是百度首页则是http请求则添加http请求在线程组上右键---“添加”---“Sampler”---“HTTP请求”

  • http请求的属性值中“Web服务器名称或IP”填写www.baidu.com就可以了如下图所示

三、加监视器

  • 监视器的种类很多,根据自己的需要添加,我们选择“查看结果树”。在线程组上右键---“添加”---“监视器”---“查看结果树”,如下图所示:

四、运行

  • 运行完毕后,即可查看结果

五、测试报告:

  • 测试报告分为四种前三种是Jmeter自带的聚合报告图形结果表格结果最后一种是Excel做的数据分析表

聚合报告

图形结果

表格结果

Excel报表

  • Excel做的数据分析表更加美观清晰明朗

六、监控平台:

Linux服务器监控

Jmeter性能监控

七、Jnekins持续集成

八、感谢:

非常感谢您花费时间阅读,祝您在这里记录、阅读、分享愉快! 欢迎留言评论,有问题也可以联系我或者加群交流....

作者 @刘智King QQ 1306086303 Emailhagyao520@163.com