JMeter学习笔记

本文详细介绍了JMeter的安装、核心组件、MySQL数据库压测、分布式压测等实战操作,包括线程组、HTTP请求、断言、监听器的使用,以及JDBCRequest对MySQL的压测。还讲述了JMeter在Linux服务器上的部署和非GUI模式运行,并分析了压测报告的参数。最后,讨论了JMeter分布式压测的常见问题及其解决方案,强调了网络配置、防火墙设置和内存管理的重要性。
摘要由CSDN通过智能技术生成

第一章 JMeter安装及基础

1、本地快速安装Jmeter

        1、需要安装JDK8。或者JDK9,JDK10
        2、下载地址
                windows:
                http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip
                mac或者linux:
                http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.tgz
        3、文档地址
                http://jmeter.apache.org/usermanual/get-started.html
        4、建议安装JDK环境,虽然JRE也可以,但是压测https需要JDK里面的 keytool工具

2、常用压力测试工具对比

        1、loadrunner:性能稳定,压测结果及细粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多
        2、apache ab(单接口压测最方便): 模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载, 简单DDOS攻击等
        3、webbench:webbench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果。

3、Jmeter目录文件讲解

        1、bin:核心可执行文件,包含配置
                jmeter.bat:: Windows启动文件
                jmeter:Mac或者linux启动文件
                jmeter-server:Mac或者Liunx分布式压测使用的启动文件
                jmeter-server.bat::Windows分布式压测使用的启动文件
                jmeter.properties::心配置文件

        2、extras:插件拓展的包
        3、lib:心的依赖包
        4、ext:核心包
        5、junit:单元测试包

4、Jmeter切换为中文样式

        1、控制台修改(临时性显示为中文,下次在打开Jmeter还是默认显示问英文):菜单栏 -> options -> choose language -> Chinese(Simplified)
在这里插入图片描述

        2、配置文件修改(永久性显示问中文样式):Jmeter的安装目录-> bin目录 -> jmeter.properties文件-> 使用记事本打开-> #language=en修改为language=zh_CN

在这里插入图片描述

第二章 JMeter核心组件讲解

1、线程组

        线程数:模拟用户并发数(虚拟用户数)。一个虚拟用户占用一个进程或线程。
        Ramp-Up时间(秒):设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
        循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
在这里插入图片描述

2、HTTP请求

        web服务器:
          默认协议:http
          默认端口:80
          服务器名称或IP :请求的目标服务器名称或IP地址
          路径:服务器URL
          Use multipart/from-data:当发送POST请求时,使用Use multipart/from-data方法发送,默认不选中。(如服务器支持,不进行勾选也可以)
在这里插入图片描述

4、断言

        apply to:指定断言作用范围。关于应用范围,我们大多数勾选“main sample only” 就足够了,因为我们一个请求,实质上只有一个请求。但是当我们发一个请求时,可以触发多个服务器请求,就有main sample 和 sub-sample之分了。
                Main sample and sub-samples:匹配范围包括当前父取样器并覆盖至子取样器
                Main sampie only:匹配范围是当前父取样器
                Sub-samples only:仅匹配子取样器
                JMeter Variable Name to use:支持对JMeter变量值进行匹配
        
        测试字段:针对响应数据的不同部分进行匹配
                  ①响应文本:响应服务器返回的文本内容

                  ②响应代码:匹配响应代码,比如返回代码“200”表示成功

                  ③响应信息:匹配响应信息,比如处理成功返回“成功”字样

                  ④响应头:匹配响应中的头信息

                  ⑤请求头:请求中的头信息

                  ⑥URL样本:匹配URL链接

                  ⑦文档(文本):对文档内容进行匹配

                  ⑧忽略状态:当第一个断言失败时可以忽略

                  ⑨请求数据:请求数据

        模式匹配规则:
                  ①包括:响应内容包括需要匹配的内容即代表响应成功

                  ②匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,不区分大小写,支持正则

                  ③相等:响应内容要完全等于需要匹配的内容才代表响应成功,区分大小写,匹配内容是字符串非正则表达式

                  ④字符串:响应内容包含需要匹配的内容才代表响应成功,区分大小写,匹配内容是字符串非正则表达式

                  ⑤否:反转检查结果,用于表示不包含,不匹配,不等于,没有和模式字符串相匹配的字符串。若匹配成功则返回失败

                  ⑥或者: 一个断言可以添加多个“要测试的模式”。使用OR选项后,只要其中有1个模式匹配,断言将会成功。不选择“OR”时将默认为AND选项,必须所有模式都匹配,断言才会成功。

        测试模式:输入结果期望值(空格要去掉)。这里填写我们要进行断言的内容,可以添加多个模式,可以使用变量、文本、正则表达式(在“包括”和“匹配”模式下)。在这里插入图片描述

        JSON断言:书写格式为 $.msg
$表示根 也就是{
.表示子 也就是{下的元素

  “msg”:成功,

  “state”:b,

 “data”:[

  {

   “name”:“测试”,

   “age”:“12”,

   }

  ]


在这里插入图片描述
        注释:需要勾选上Additionally assert value,并填写上需要断言的内容,否则只检测是否有msg这个属性,有就返回ture,不会对内容做判断
        若需要获取content,则修改为$.content (获取所有content)

        若需要获取A的所有子类,则修改为$…A(获取所有的所有子类)

        若只需要获取A的第二个子类,则修改为$…A[1],

        当然也可以这样写:$.content.data.allCitySearchLabels.A[1].id,这样便能获取所有A类第二个的ID
在这里插入图片描述

在这里插入图片描述

        XPath断言:书写格式为 //a[@name =“tj_trnews”]
                    其中,//表示相对路径,a表示标签,[]里面放谓词,@name="tj_trnews"表示属性,多个属性用 and、or表示。如果查看结果树使用XPath Tester显示时,记得勾选上return entire XPath fragment instead of text content,否则结果会显示失败
在这里插入图片描述

在这里插入图片描述
        断言结果监听器: 线程组-> 添加 -> 监听器 -> 断言结果
                里面的内容是sampler采样器的名称
                断言失败,查看结果树任务结果颜色标红(通过结果数里面双击不通过的记录,可以看到错误信息)
在这里插入图片描述

5、添加监听器

        察看结果树:线程组->添加->监听器->察看结果树(比较常用,也可根据需求添加不同监听器)
在这里插入图片描述

6、聚合报告

        新增聚合报告:线程组->添加->监听器->聚合报告(Aggregate Report)
                lable: sampler的名称
                Samples: 一共发出去多少请求,例如10个用户,循环10次,则是 100
                Average: 平均响应时间
                Median: 中位数,也就是 50% 用户的响应时间
                90% Line : 90% 用户的响应不会超过该时间 (90% of the samples took no more than this time. The remaining samples at least as long as this)
                95% Line : 95% 用户的响应不会超过该时间
                99% Line : 99% 用户的响应不会超过该时间
                min : 最小响应时间
                max : 最大响应时间
                Error%: 错误的请求的数量/请求的总数
                Throughput: 吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps
                KB/Sec: 每秒接收数据量
在这里插入图片描述

第三章 自定义变量和CSV可变参数压测

1、用户自定义变量

        很多变量在全局中都有使用,或者测试数据更改,可以在一处定义,四处使用,引用格式为${xxx}”

在这里插入图片描述
在这里插入图片描述
        添加路径:线程组->add -> Config Element(配置原件)-> User Definde Variable(用户定义的变量)
在这里插入图片描述

2、CSV可变参数压测

        添加路径:线程组->add -> Config Element(配置原件)-> CSV data set config (CSV数据文件设置)
在这里插入图片描述
        引用csv格式文件:上传CSV格式文件、设置变量名称、设置线程共享模式(一般默认选择“所有现场”)
在这里插入图片描述
        引用txt格式文件:上传txt格式文件、设置变量名称、多个参数时设置分隔符号(逗号、竖线等都可以)、设置线程共享模式(一般默认选择“所有现场”)
在这里插入图片描述

3、CSV文件多参数使用

        多参使用:添加多个变量名称(多个变量名称之间用英文的逗号分隔)、设置分隔符号
在这里插入图片描述

第四章 MySQL数据库压测实操

1、JDBC request压测Mysql讲解

        添加JDBC Request:

在这里插入图片描述
        添加JDBC Connection Configuration配置:常用配置说明
在这里插入图片描述
在这里插入图片描述
添加jar包文件:
在这里插入图片描述

注释:variable name of pool declared in JDBC Connection Configuration(在JDBC连接配置中声明的池的变量名)与variable name for created pool(创建池的变量名)填写应一致
在这里插入图片描述
在这里插入图片描述

2、JDBC request压测Mysql

        添加JDBC Request:
在这里插入图片描述

第五章 分布式压测基础知识

1、分布式压测介绍

        普通压测:单台机可以对目标机器产生的压力比较小,受限因素包括CPU,网络,IO等
        分布式压测:利用多台机器向目标机器产生压力,模拟几万用户并发访问

2、Jmeter分布式压测原理

        原理:①总控机器的节点master,其他产生压力的机器叫“肉鸡” server
              ②master会把压测脚本发送到 server上面
              ③执行的时候,server上只需要把jmeter-server打开就可以了,不用启动jmeter
              ④结束后,server会把压测数据回传给master,然后master汇总输出报告
              ⑤配置详情

        控制机:运行多台jmeter负载机进行性能测试时,被选中作为管理机的那台机器就是控制机。控制机也可以参与脚本的运行,同时它也担负管理远程负载机指挥远程负载机运行工作,且收集远程负载机运行测试结果。
        负载机: 负载机就是向被测应用服务发起负载(请求)的机器。控制机同时也是一台负载机。jmeter负载机受控制机(jmeter负载机)的管理。与支持其他远程运行的测试工具一样,负载机受控制机管理首先要启动一个客户端程序(Agent:jmeter-server.bat),这样控制机才可以接管负载机。控制机会把运行的脚本隐蔽的发送到远程负载机,但是运行的测试脚本有参数文件或者依赖jar包时,控制机并不能把他们发送到远程负载机,这种情况就需要手动拷贝,也可以用工具实现自动拷贝
        远程运行逻辑:远程负载机首先启动agent程序,待控制机连接;控制机连接上远程负载机;控制机发送指令(脚本及启动命令)启动线程;负载机运行脚本,回传状态(包括测试结果);控制机收集结果并显示。

第六章 Linux服务器压测接口实战

3、Linux服务器下安装启动JDK并配置环境变量

        JDK下载地址:

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

        选择Linux x64进行下载
在这里插入图片描述

        远程传输文件工具:mac系统FileZilla
                          windows系统securecrt
①使用FileZilla上传JDK包(存在位置自行选择)
在这里插入图片描述
②远程连接服务器进入相应目录,并使用tar -zxvf命令解压JDK包
在这里插入图片描述

③解压完成后使用mv命令重名称文件夹
在这里插入图片描述

④先进入jdk的bin目录下使用(命令:vim /etc/profile)(虚拟机:vi /etc/profile)进入全局变量中设置环境变量
在这里插入图片描述
在这里插入图片描述

⑤输入“i”进入输入模式并配置变量(保存命令离开:wq)
在这里插入图片描述

在这里插入图片描述

export JAVA_HOME=/usr/local/jdk1602
export PATH=$PATH:JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

⑥输入(source /etc/profile)命令使配置生效
在这里插入图片描述
虚拟机centos7 配置文件输入以下内容
在这里插入图片描述

⑦输入java及 java -version检测版本及是否生效
在这里插入图片描述

4、守护进程及ECS服务器防火墙设置

        守护进程开启:nohup java -jar xxxxx &
在这里插入图片描述        centOS7开启防火墙:systemctl start firewalld.service
        centOS7关闭防火墙:systemctl stop firewalld.service
        centOS7查看防火墙运行状态:firewall-cmd --state

5、Linux服务器安装Jmeter

        wget+下载jmeter地址进行下载:
在这里插入图片描述        tar -zxvf 命令进行解压:在这里插入图片描述

6、Jmeter非GUI界面参数讲解

        压测参数:-h 帮助
                  -n 非GUI模式
                  -t 指定要运行的 JMeter 测试脚本文件
                  -l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)
                  -r Jmter.properties文件中指定的所有远程服务器
                  -e 在脚本运行结束后生成html报告
                  -o 用于存放html报告的目录(目录要为空,不然报错)
        官方配置文件地址 :http://jmeter.apache.org/usermanual/get-started.html

7、Linux服务器下非GUI执行Jmeter

        给测试脚本最大权限:chmod 777 测试脚本名称

在这里插入图片描述
        进行压测:进入jmeter的bin目录下输入以下命令

 ./jmeter -n -t /usr/local/jmeter/temp/40人线程组.jmx -l /usr/local/jmeter/temp/jtl/result.jtl

在这里插入图片描述
        修改jmx文件内网地址及删除jtl文件
在这里插入图片描述

在这里插入图片描述

        创建目录文件夹

在这里插入图片描述

第七章 压测HTML可视化压测报告

1、测试报告jtl文件查看

        查看jtl文件:利用FileZilla工具下载jtl文件,jmeter图形界面添加“汇总报告(Summary Report)”进行预览查看
在这里插入图片描述

2、Jmeter压测接口的性能优化

减少资源使用: 1、使用非GUI模式:jmeter -n -t test.jmx -l result.jtl
               2、少使用监听器(Listener), 如果使用-l参数,它们都可以被删除或禁用。
               3、在加载测试期间不要使用“查看结果树”或“查看结果”表监听器,只能在脚本阶段使用它们来调试脚本。
               4、包含控制器在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中。]
               5、不要使用功能模式,使用CSV输出而不是XML
               6、只保存你需要的数据,尽可能少地使用断言
               7、如果测试需要大量数据,可以提前准备好测试数据放到数据文件中,以CSV Read方式读取。
               8、用内网压测,减少其他带宽影响压测结果
               9、如果压测大流量,尽量用多几个节点以非GUI模式向服务器施压

3、压测生成HTML测试报告

        进入jmeter的bin目录执行命令并生成html报告

./jmeter -n -t /usr/local/jmeter/temp/40人线程组.jmx -l /usr/local/jmeter/temp/jtl1/result1.jtl -e -o /usr/local/jmeter/temp/result

在这里插入图片描述

4、HTML压测报告dashdoard参数

        参数详解:
                1)Test and Report informations(测试和报告信息)
                   Source file:jtl文件名
                   Start Time :j压测开始时间
                   End Time :j压测结束时间
                   Filter for display:j过滤器
                   Lable:sampler采样器名称
                2)APDEX(Application performance Index)(APDEX(应用程序性能指数))
                   apdex:应用程序性能指标,范围在0~1之间,1表示达到所有用户均满意
                   T(Toleration threshold):可接受阀值
                   F(Frustration threshold):失败阀值
                3)Requests Summary(请求摘要)
                   OK:成功率
                   KO:失败率
                4)Statistics( 统计数据)
                   lable:sampler采样器名称
                   samples:请求总数,并发数*循环次数
                   KO:失败次数
                   Error%:失败率
                   Average:平均响应时间
                   Min:最小响应时间
                   Max:最大响应时间
                   90th pct: 90%的用户响应时间不会超过这个值(关注这个就可以了)
                   95th pct: 95%的用户响应时间不会超过这个值
                   99th pct: 99%的用户响应时间不会超过这个值 (存在极端值)
                   throughtput:Request per Second吞吐量 qps
                   received:每秒从服务器接收的数据量
                   send:每秒发送的数据量

在这里插入图片描述
在这里插入图片描述

5、HTML压测报告Charts报表参数

        参数详解:
                1)Over Time(随着时间的变化)
                   Response Times Over Time:响应时间变化趋势
                   Response Time Percentiles Over Time (successful responses):最大,最小,平均,用户响应时间分布
                   Active Threads Over Time:并发用户数趋势
                   Bytes Throughput Over Time:每秒接收和请求字节数变化,蓝色表示发送,黄色表示接受
                   Latencies Over Time:平均响应延时趋势
                   Connect Time Over Time :连接耗时趋势
                2)Throughput(吞吐量)
                   Hits Per Second (excluding embedded resources):每秒点击次数
                   Codes Per Second (excluding embedded resources):每秒状态码数量
                   Transactions Per Second:即TPS,每秒事务数
                   Response Time Vs Request:响应时间和请求数对比
                   Latency Vs Request:延迟时间和请求数对比
                3)Response Times(响应时间)
                   Response Time Percentiles:响应时间百分比
                   Response Time Overview:响应时间概述
                   Time Vs Threads:活跃线程数和响应时间
                   Response Time Distribution:响应时间分布图
在这里插入图片描述

第八章 多节点Jmeter分布式压测实战

1、Jmeter分布式压测准备工作

        注意事项:1、系统上的防火墙被关闭或正确的端口被打开
                  2、所有的客户端都在同一个子网上
                  3、如果使用192.x.x.x或10.x.x.x IP地址,则服务器位于同一子网中。 如果服务器不使用192.xx或10.xx IP地址,则不应该有任何问题。
                  4、确保JMeter可以访问服务器
                  5、确保在所有系统上使用相同版本的JMeter和Java。 混合版本将无法正常工作
                  6、您已为RMI设置SSL或将其禁用
                  7、一定要用内网IP,不用用公网IP,用ping去检查
        专业名字:master:司令
                  slave:奴隶
                  target:目标
        远程拷贝(内网地址):

scp -r /usr/local/software/jdk-8u141-linux-x64.tar.gz root@172.18.230.233:/usr/local/software
scp -r /usr/local/software/jmeter/apache-jmeter-4.0.tgz root@172.18.230.233:/usr/local/software/jmeter

        启动jmeter命令:./jmeter-server 或者 nohup ./jmeter-server &(守护进程方式,不推荐,无法查看到压测效果)
                  使用守护进程启动jmeter时,需要进行检测启动是否成功

ps -ef|grep jmeter-server
ps aux|grep jmeter-server

        图示:
在这里插入图片描述
在这里插入图片描述

2、Jmeter实战

        1、修改master节点信息:修改jmeter.properties文件
                jemeter.properties 值是slave机器的ip+端口号,如果有多个,用逗号分隔
                    remote_hosts=192.168.0.102:8899,192.168.0.101:8899
在这里插入图片描述

                    server.rmi.ssl.disable=true
在这里插入图片描述

        2、修改slave节点信息:修改jmeter.properties文件
                server_port=1099

在这里插入图片描述
                server.rmi.ssl.disable=true
在这里插入图片描述

        3、启动slave机器,注意要同个网段,ip地址用内网ip:出现以下内容证明启动成功
在这里插入图片描述

3、实战压测环境配置

        需注意要将防火墙关闭
           1、设置slave机器jmeter.properties文件中的ip地址及端口(ip为主机master的内网ip地址),同时修改server.rmi.ssl.disable为true
在这里插入图片描述
在这里插入图片描述
           2、启动slave机器的jmeter.server.bat
在这里插入图片描述

           3、设置主机jmeter.properties文件中的ip地址及端口(ip为从机slave的内网ip地址),同时修改server.rmi.ssl.disable为true
在这里插入图片描述
在这里插入图片描述
           4、启动主机master的jmeter.server.bat
           5、启动主机jmeter.bat并打开测试计划
           6、选择单个执行远程压测或全部启动
在这里插入图片描述

4、非GUI执行压测

        进入jmeter的bin目录下,在地址栏输入cmd启动,执行下方命令(测试计划地址换成自己的)

jmeter -n -t /E:\ceshi/40ceshi.jmx -r -l /E:\ceshi/jtl/result.jtl -e -o /E:\ceshi/resultlt

在这里插入图片描述
在这里插入图片描述

5、Jmeter压测常见问题处理及注意事项

        问题1:

[root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[:39308](local),objID:[24e78a63:16243c70661:-7fff, 7492480871343944173]]]
Server failed to start: java.rmi.RemoteException: Cannot start. Unable to get local host IP address.; nested exception is:
java.net.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not known
An error occurred: Cannot start. Unable to get local host IP address.; nested exception is:
java.net.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not known

      解决办法:

hostname  命令获取机器名称,追加一个映射  iZwz95j86y235aroi85ht0Z
	vim /etc/hosts
		127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
		::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
		120.79.160.143 iZwz95j86y235aroi85ht0Z

	windows用户 修改c:\windows\system32\drivers\etc\hosts文件,增加一条域名 与IP的映射

        问题2:

[root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
An error occurred: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)

      解决办法:修改jmeter.properties文件

拥有RMI over SSL的有效密钥库,或者禁用了SSL。
	1、禁用SSL
		jmeter.property里面 server.rmi.ssl.disable 改为 true,表示禁用

        问题3:

[root@iZ949uw2xehZ bin]# ./jmeter
	Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)
	#
	# There is insufficient memory for the Java Runtime Environment to continue.
	# Native memory allocation (mmap) failed to map 1073741824 bytes for committing reserved memory.
	# An error report file with more information is saved as:
	# /usr/local/jmeter/apache-jmeter-4.0/bin/hs_err_pid5855.log

      解决办法:修改jmeter.properties文件

编辑jmeter
	搜索 : "${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}"
	改变初始堆内存和最大堆内存

        问题4:

"could not find ApacheJmeter_core.jar"

      解决办法:

在Agent机器安装jdk,并设置环境变量

        问题5:

”Bad call to remote host"

      解决办法:

检查被控制机器上的jmeter-server有没有启动,或者remote_hosts的配置是否正确。

        问题6:

连接失败原因排查

      解决办法:

1. jmeter-server是否启动;
2. 是否联网
3. ping 服务器IP是否畅通.
4. telnet 端口 192.168.3.10 1099
5. 检查服务器的防火墙是否关闭。
6. 阿里云安全策略是否正常

        问题7:

<!-- jmeter 分布式性能测试(多网卡配置) -->

      解决办法:

在多网卡的服务器上开启RMI服务的话必须指定IP,使他们能够在同一个网段内。 
需要以下几步(假定所有机器都在10.120.11.*网段,agent服务器为linux,controller服务器为windows):

1、 修改agent服务器,指定agent机器的IP
修改jmeter-server文件
# vi jmeter-server
修改RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(需要连接的IP)

2、修改server服务器,指定server机器的IP
修改jmeter.bat文件 
新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214
修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%

注意事项:

1、仅修改 server_port 即可,下面两者一样
	server.rmi.localport=8899 表示slave server启动显示的端口
	server_port=8899  表示master机器要远程连接的端口   即 remote_hosts=xxxx:8899
	
2、确定在controller机器上安装jdk,版本和jmeter一致,配置环境变量:Java_home等
	在Agent机器上安装jdk,配置环境变量:Java_home和JMeter_home
  	安装目录不要带空格,最好都是简短的英文路径
  	
3、master机器启动后会拷贝jmx文件到slave机器,所以不需要在每台slave机器上也上传一份jmx,只需要在master机器上上传一份jmx脚本即可。
	如果使用csv进行参数化,则需要把参数文件在每台slave上拷一份且路径需要设置成一样的。
	总样本数 = 线程数 * 循环次数 * 执行机总数
	
4、问题解决相关博客地址:	
	https://www.cnblogs.com/Fine-Chan/p/6233823.html
	https://blog.csdn.net/liujingqiu/article/details/52635289
	https://www.cnblogs.com/puresoul/p/4844539.html
  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值