Apache JMeter 3.1压力测试监控服务器数据(cpu、内存、磁盘io等)

Apache JMeter 3.1压力测试

  • [Apache JMeter 3.1压力测试监控cpu、内存情况](#Apache JMeter 3.1压力测试监控cpu、内存情况)
    • [1.下载Apache JMeter 3.1](#1.下载Apache JMeter 3.1)
      • [1.1 添加线程组](#1.1 添加线程组)
      • [1.2 添加http请求](#1.2 添加http请求)
      • [1.3 增加http请求头设置](#1.3 增加http请求头设置)
      • [1.4 添加csv配置](#1.4 添加csv配置)
      • [1.5 添加测试结果监控配置](#1.5 添加测试结果监控配置)
    • [2. 监控插件下载](#2. 监控插件下载)
    • [3. 服务端插件下载并启动](#3. 服务端插件下载并启动)
      • [3.1 下载](#3.1 下载)
      • [3.2 解压并启动](#3.2 解压并启动)
      • [3.3 增加服务器配置监控](#3.3 增加服务器配置监控)
    • [4. 查看执行结果](#4. 查看执行结果)
    • [5. 非GUI模式测试](#5. 非GUI模式测试)

Apache JMeter 3.1压力测试监控cpu、内存情况

监控服务器CPU、内存、磁盘、网络等相关资源需要使用3.1版本并使用以下插件

客户端:JMeterPlugins-Standard和JMeterPlugins-Extras

服务端:ServerAgent

1.下载Apache JMeter 3.1

官网链接:https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.1.zip

解压安装包,进入 bin 目录,点击 jmeter.bat 启动 Jmeter

1.1 添加线程组

  • 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
  • Ramp-up就是每个线程的执行时间间隔,0表示并发
  • 循环次数:每个线程发送请求的次数。如果线程数为 10,循环次数为 100,那么每个线程发送 100 次请求。总请求数为 10*100=1000 。如果勾选了"永远",那么所有线程会一直发送请求,一到选择停止运行脚本。
  • Delay Thread creation until needed:直到需要时延迟线程的创建。
  • 调度器配置:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
    调度器配置参数:
  • 持续时间(秒):测试持续时间,会覆盖结束时间
  • 启动延迟(秒):测试延迟启动时间,会覆盖启动时间

1.2 添加http请求

1.3 增加http请求头设置

1.4 添加csv配置

csv文件内容如下:

1.5 添加测试结果监控配置

2. 监控插件下载

客户端下载地址:Download :: JMeter-Plugins.org

下载完成后解压客户端的两个文件,进入路径JMeterPlugins-Extras\lib\ext,JMeterPlugins-Standard\lib\ext,复制JmeterPlugins-Extras.jar,JmeterPlugins-Standard.jar两个文件,放到JMeter客户端的${jmeter-home}\lib\ext下面

3. 服务端插件下载并启动

3.1 下载

GitHub - undera/perfmon-agent: Server metrics fetching agent, based on SIGAR

3.2 解压并启动

解压ServerAgent放在被压测的服务器上,

windows服务器中启动startAgent.bat,

Linux服务器启动startAgent.sh(注意赋予执行权限)

ServerAgent是用来收集服务器相关性能指标(cpu、memory、tcp等)、以及jmx等metrics信息,然后通过 TCP or UD协议来发送给jmeter。启动后,默认监听4444端口,ServerAgent是一个文本协议,可以使用任何客户端发送/接收metrics数据信息。

3.3 增加服务器配置监控

4. 查看执行结果

5. 非GUI模式测试

  1. 进入jemter工具的bin目录下,输入cmd进行命令行
  1. 编写执行测试计划
xml 复制代码
jmeter -n -t <测试JMX文件> -l <测试报告文件> -e -o <输出文件夹的路径>

**-n:**非GUI模式执行JMeter

**-t :**执行测试文件所在的位置

**-l :**指定生成测试结果的保存文件,.jtl文件格式

**-e:**测试结束后,生成测试报告

**-o:**指定测试报告的存放位置

**测试JMX文件:**测试用的.jmx文件路径

**测试报告文件:**必须是不存在的,否则会报错

**输出文件夹的路径:**手动创建存放报错的文件夹的路径,需要提前创建,每次运行前必须清空,否则会报错

复制代码
 jmeter -n -t  D:\apache-jmeter-3.1\apache-jmeter-3.1\PDF阅读接口测试计划.jmx -l pdf请求压力测试 -e -o  D:\apache-jmeter-3.1\apache-jmeter-3.1\report

3.执行测试计划

4.查看生成的测试计划

进入设置的"输出文件夹的路径",双击index.html

相关推荐
AOwhisky10 小时前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
JackSparrow4142 天前
Kafka(七)集成Apache Avro+Apicurio Schema Registry以保障生产者与消费者的消息兼容性
java·中间件·rpc·kafka·apache·avro·schema-registry
智码看视界2 天前
SenseNova U1.5 Lite 部署实测:8B 单卡跑通 4K 生图,Apache 2.0 免费商用
开源·apache·多模态·图像生成·ai生图·sensenova·商汤大模型
川石课堂软件测试3 天前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
wuhuhuan3 天前
JMeter 性能测试教程
jmeter
汽车仪器仪表相关领域4 天前
ZDT‑I伺服电机测试系统:四象限动态加载
大数据·数据库·分布式·功能测试·汽车·压力测试·可用性测试
行者-全栈开发4 天前
JMeter + InfluxDB + Grafana:搭建生产级压测实时监控与告警体系
jmeter·grafana·时序数据库·influxdb·实时监控·backendlistener·告警性能测试
wuhuhuan5 天前
【JMeter 学习打卡 Day 7】从会用到会用对,完成一次完整压测
学习·jmeter
海兰6 天前
【 Kafka进阶5】使用 Docker 部署 Apache Kafka 集群完全指南
docker·kafka·apache
垂钓的小鱼16 天前
用关联图谱做量化选股:让基本面惊喜沿着网络扩散
服务器·php·apache