Jmeter性能测试

(一)工具版本

(二)安装和配置

  1. 安装jdk
  1. 在D盘下新建JAVA文件夹,找到jdk文件,双击运行。点击下一步,出现如下图一内容,这里是设置安装路径,可以默认,用户可自行选择,这里我安装在D:\JAVA\JDK,如下图二。这路径记好,一会设置环境变量需要用到,设置好后点击下一步,过一会会出现安装Jre路径,如下图三,用户自行选择,点击下一步等待安转完毕即可。


  2. 右击我的电脑——>属性——>高级系统设置(如下图一)——>环境变量(如下图二).

  1. 配置jdk
    1)新建系统变量JAVA_HOME

变量名:JAVA_HOME;变量值:D:\JAVA\JDK\jdk1.8.0_191

2)编辑系统变量Path

Windows10 电脑,新建变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; Windows7
电脑,在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;注意用;号分隔

3)新建系统变量CLASSPATH变量

变量名:CLASSPATH 变量值:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

4)检验
(1)快捷键win+R——> 输入cmd
(2)输入java -version之后,点击回车键

  1. 安装和配置jmeter
  1. 下载后无需安装,解压后即可使用。下图为解压后的目录。

  2. 新增JMETER_HOME变量,注意:变量值为你下载后解压的路径。

  3. 编辑CLASSPATH变量,加上

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

注:如果电脑重没找到CLASSPATH,添加在PATH也可以;
4) 操作完上面的步骤,我们就可以点击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了。
注意:打开的时候会有两个窗口,Jmeter的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口。

  1. 添加监控器(放置到需要监控的服务器中)
  1. 下载jmeter-plugins-manager-1.4.jar文件,将文件移动到apache-jmeter-5.1.1\lib\ext文件夹下,

  2. 点击Options——>plugins-manager(如下图一)

常用的插件有:

    用于服务器性能监视的-- PerfMon Metrics Collector;
   用于建立压力变化模型的-- Stepping Thread Group;
   用于Json解析的-- JSON Path Extractor;
   用于展示响应时间曲线的-- Response Times Over Time;
   用于展示TPS曲线的-- Transactions per Second;
   用于展示以上组合展示的-- Composite Timeline Graph;
  1. 点击Avallable Plugins按钮,搜索需要安装的插件,勾选插件前的选框,点击右下角的Apply Changes and Restart JMeter 按钮下载安装插件(如下图)

  2. 重新启动Jmeter后,可以看到好多报表。可以重点关注我框的,其余根据实际需求(如果想了解用途,请自行查阅)(如下图)
    ——>jp@gc - Active Threads Over Time-不同时间的活动用户数量
    ——>jp@gc - PerfMon Metrics Collector-服务器性能监控
    ——>jp@gc - Transactions per Second-每秒事务数,服务器每秒处理的事务数
    ——>jp@gc - Response Times Over Time-响应时间超时,显示每个采样以毫秒为单位的平均响应时间
    ——>jp@gc - Flexible File Writer-**灵活记录测试结果
    ——>jp@gc - Transactions per Second-监听动态TPS,用来分析吞吐量。
    ——>Composite Graph-组合式的监听器。

  1. 配置本地与其他机器互联
    例如:
    1.主控机一台为master,ip地址:10.8.88.177
    2.负载机一台为slave, ip地址:10.8.88.119
    1)主控机和负载机都安装一样的JDK环境和jmeter版本。
    2)主控机的配置文件jmeter.properties的设置为如下:
    ①添加负载机IP,如:remote_hosts=10.8.88.119:1099,10.8.88.177:1099。表示的是要远程控制 的机器,多个机器IP间用逗号分隔,1099为分布式机器的端口号。
    ②#server.rmi.ssl.disable=false 修改为:server.rmi.ssl.disable=true并且将前面的#注释去掉。
    ③将#mode=Standard前面的#注释去掉。这个操作是为了让主控机在执行后在察看结果树下能看 到返回的响应信息(repsonse body)
    3)负载机的配置文件jmeter.properties的设置为如下:
    ①#server.rmi.ssl.disable=false 修改为:server.rmi.ssl.disable=true并且将前面的#注释去掉。
    ②找到remote_hosts=127.0.0.1,把这一行修改为remote_hosts=10.8.88.119:1099(本机ip:端口)。
    4)将ServerAgent-2.2.3文件夹放置到需要监控的服务器中(任意位置),在目标机器上启动即可
    Windows系统双击startAgent.bat文件
    Linux系统启动startAgent.sh文件

如果出现错误,参考如下方法:

1、修改slave负载机的配置文件:
修改slave配置并启动jmeter-server
修改jmeter.properties:
server_port=2009(自定义端口号,避免被占用)
server.rmi.localport=2009(跟上面设置的端口号一致)
server.rmi.ssl.disable=true
修改jmeter-server:
RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.224(绑定本机ip)

(三)创建运行脚本

  1. 在控制机10.8.88.177机器上启动jmeter.bat.启动后如下图所示

  2. 添加线程组。右键测试计划—add—Threads—Thread Group

  3. 添加HTTP请求。右键线程组—add—Sampler—HTTP Request

  4. 填写接口数据。

  5. 添加需要的监控器,如查看结果树、聚合报告。右键线程组—add—Listener—View Results Tree和Aggregate Report

  6. 运行脚本进行访问接口,测试能否正常访问和返回参数。

  7. 配置线程组发起数量进行压力测试。

  8. 添加同步定时器进行并发。右键http请求—add—Timer—Synchronizing Timer

  9. 点击运行按钮开始压测。

(四)分布式压测和监控

  1. 在负载机10.8.88.119机器上启动jmeter.server.bat.启动后如下图所示

  2. 在负载机10.8.88.119机器上的ServerAgent-2.2.3文件夹中启动startAgent.bat.

  3. 在主控机上启动jmeter.bat,打开项目脚本,添加jp@gc - PerfMon Metrics Collector监听器,可以看到如下所示。(注意IP为被监控系统的IP,也就是agent所在IP)

  4. 在主控机操作Run–Remote start–10.8.88.119:1099.

  5. 在察看结果树,查看是否请求成功以及返回的响应信息,如下图所示

  6. 在查看负载机是否有报错,负载机没有报错。如下图所示:

(五)报告生成

  1. 生成请求页面详情报告-查看结果树
  2. 生成请求时间、异常、吞吐量等报告-汇总报告
  3. 根据数据生成性能测试报告
  4. 根据数据生成性能测试监控报告

Jmeter性能测试-安装和配置、分布式压测配置及服务器性能监控相关推荐

  1. JMETER性能测试从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)

    1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...

  2. Jmeter 分布式压测

    一.jmeter分布式压测使用场景 1.当一台jmeter并发数达到瓶颈时,需要多台jmeter一台控制机,多台负载机来进行分布式压测 扩大并发数 2.当测试多台服务器时,需要同时通过多个ip压测同一 ...

  3. 性能测试搭建Jmeter分布式压测与监控

    对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题:如果当前架构快达到性能瓶颈了,是横向扩容性能提升大 ...

  4. 搭建 Apache Jmeter 分布式压测与监控

    1.前言 对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题:如果当前架构快达到性能瓶颈了,是横向扩容 ...

  5. jmeter 高并发测试报告_Windows下JMeter分布式压测环境搭建

    JMeter是Apache组织开发的开源项目,设计之初用于性能测试,同时它在实现对各种接口的调用方面做得比较成熟,因此,常被用于接口功能测试和性能测试.它能够很好的支持各种常见接口,如HTTP(S). ...

  6. Jmeter分布式压测介绍、原理及实操(一台master-windows控制机,三台slaves-linux负载机)

    前言:大家在使用jmeter压测过程中,可能会度遇到内存溢出的错误,这是为什么呢? 因为jmeter是java写的应用,java应用jvm堆内存heap受负载机硬件限制,虽然我们可以调整堆内存大小,但 ...

  7. Jmeter分布式压测-windows(master控制机)多个linux(slaves负载机)监测服务器资源(cpu、内存等)

    为什么进行jmeter分布式压测? 一.干货解释原因: **原因一:**一台压力机的 Jmeter 默认最大支持 1000 左右的并发用户数(线程数),再大的话,容易造成卡顿.无响应等情况,这是受限于 ...

  8. Jmeter分布式压测方案

    背景: 本地电脑通过Jmeter图形化界面(GUI方式)控制本机及其他远程机器,以它们为压力机,对被测的服务器进行压力测试,并将压测的结果同步到Jmeter图形化界面中,进行分析. 准备: 1.作为压 ...

  9. 接口测试学习——jmeter分布式压测

    分布式压测我理解的就是有一台主控机和几台压力机.主控机通过远程控制压力机启动测试,来实现系统不同级别访问量情况下的性能验证.操作步骤如下: 1.启动jmeter自动化工具,界面显示如下图所示. 2.在 ...

最新文章

  1. linux lvm使用情况,Linux LVM系列(一)lvm使用
  2. xml命名空间的作用类似于java中包名所起的限定范围的作用
  3. java springboot b2b2c shop 多用户商城系统源码 (二): 配置管理...
  4. 如何用sqlyog实现远程连接mysql
  5. linux 安装python MySQLdb
  6. 【开源项目】使用FFMPEG解析H264编码为YUV格式
  7. 三十二 、K8s审计
  8. Noark入门之极速体验
  9. 等价划分测试c语言测试三角形,三角形等价划分法测试用例
  10. excel替换快捷键_收集一些常用的快捷键
  11. centos 官网下载
  12. 服务器显示阵列卡升级,Systemx服务器在BIOS中刷新阵列卡微码
  13. android 360 root权限获取root权限,安卓手机如何Root 使用360手机助手获取root权限图为教程...
  14. 计算机无法进行磁盘碎片整理,无法运行磁盘碎片整理
  15. [Shell命令] tar -cvf -xvf 打包解包文件夹
  16. 第4讲:C# 入门教程 入门知识(黄菊华NET网站开发、C#网站开发、Razor网站开发教程)
  17. 2022-08-15 第一组 顾元皓 学习笔记
  18. 如何学习stm32,怎么学习stm32,不是仅仅看教程,照着写复制代码
  19. java基于Springboot+vue的医院体检预约挂号系统 elementui
  20. 知网普刊CNKI计算机类期刊,录用98%以上,最快1个月可录用

热门文章

  1. Go语言 面试 针对初级、应届、实习
  2. Flvplayer.swf 代码引用方法:
  3. WebAssembly 基础
  4. 荣幸获得CSDN博客之星第三名,感激不尽!Python
  5. 人民网好句摘抄——摘抄自既“知止”,也“知进”(金台随笔)马明阳
  6. arduino数字时钟元件_数字元器件基础
  7. 从分形图片用Box counting方法计算分形维数的一个例子
  8. linux superblock位置,Linux下恢复EXT3 Superblock的正确方法
  9. es(elasticsearch)查询数据出现异常Result window is too large, from + size must be less than or equal to
  10. 猕猴桃输入法高手指南