在linux下实现jmeter的分布式测试
- 格式:doc
- 大小:1.22 MB
- 文档页数:20
学习笔记-jmeter简单性能测试及在Linux下运⾏jmeter是⼀个性能测试⼯具,这⾥简单介绍⼀点jmeter性能测试的内容。
性能测试,是衡量系统的各项性能指标的测试,最常⽤的两个指标是TPS和响应时间。
TPS:指的是服务端每秒钟处理的请求数,越⼤越好。
响应时间:顾名思义,就是服务器响应的时间,越短越好。
⽤jmeter的【聚合报告】可以查看这两个指标。
⼀、最简单的压测1、线程组的设置在线程组可以设置并发数,启动时间,循环次数等。
线程数:即并发数,可以理解为虚拟⽤户的数量;Ramp-Up Period(in seconds):设置的线程数需要多久全部启动,通过这个参数可以设置每个线程的启动间隔。
如果设置为0,则所有线程同时启动。
假设线程数是100,Ramp-Up Period(in seconds)是10,则每隔0.1秒启动⼀个线程。
即每秒启动10个线程。
循环次数:每个线程发送请求的次数。
如果勾选了永远,那么它将永远发送下去,直到停⽌脚本。
需要根据实际情况设置这些参数。
线程数设置太少,达不到性能测试的效果;设置太⼤可能会对电脑造成太⼤压⼒。
另外,设置合理的循环次数也很重要,除了给定的设置循环次数和永远,还可以通过勾选调度器,设置开始和结束时间来控制。
调度器可以设置启动时间,结束时间,持续时间,启动延迟。
⼀般压测的时间是10-15分钟。
监听器添加【聚合报告】Average是平均响应时间,单位默认是毫秒;Received KB/sec,指的是TPS实际测试中,会对TPS,响应时间,并发数有具体指标,按照需求配置,查看运⾏结果,对⽐需求即可。
⼆、添加压⼒机假如⼀台电脑能够⽀持的并发数是100个,⽽要求测试500个并发数,此时就需要添加压⼒机。
⾸先要确保主控机和负载机处于同⼀局域⽹中,步骤如下:(1)负载机上,在jmeter的bin⽬录下启动jmeter-server(windows: jmeter-server.bat)(mac、linux: jmeter-server.sh)注:负载机不需要启动jmeter,只需要启动jmeter-server即可。
【06】jmeter-⾼级篇-多节点JMeter分布式压测(⼀)⼀、什么是分布式压测 普通压测:单台机可以对⽬标机器产⽣的压⼒⽐较⼩,受限因素包括CPU,⽹络,IO等 分布式压测:利⽤多台机器向⽬标机器产⽣压⼒,模拟⼏万⽤户并发访问⼆、Linux服务器下安装启动JDK8并配置环境变量 3.配置环境变量 cd 到bin⽬录下 找到jdk解压后profile⽂件更改环境变量:vim /etc/profile 添加如下内容: export JAVA_HOME=jdk的路径 export PATH=$PATH:$JAVA_HOME/lib/ export CLASSPATH=.:$JAVAHOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH JAVA_HOME CLASSPATH 4.启配置⽂件:source /etc/profile 输⼊命令:java -version 验证是否安装成功三、Linux服务器下安装jmeter 新建jmeter⽂件:mkdir jmeter 解压:tar -zxvf apache-jmeter-4.0.tgz四、Jmeter⾮GUI界⾯ 参数讲解 -n ⾮GUI模式 -t 指定要运⾏的 JMeter 测试脚本⽂件 -l 记录结果的⽂件每次运⾏之前,(要确保之前没有运⾏过,即xxx.jtl不存在,不然报错) -r Jmter.properties⽂件中指定的所有远程服务器 -e 在脚本运⾏结束后⽣成html报告 -o ⽤于存放html报告的⽬录(⽬录要为空,不然报错) jmeter -n -t linux_users_api.jmx -l result.jtl -e -o /usr/local/softwate/jmeter/temp/ResultReport jmeter -n -t /Users/jack/Desktop/linux_users_api.jmx -l result.jtl -e -o /Users/jack/Desktop/person/jmeter/temp五、查看性能测试报告.jtl格式 线程组->summary report->浏览⽂件 jmeter -n -t /usr/local/software/jmeter/temp/linux_users_api.jmx -l /usr/local/software/jmeter/temp/jtl/result.jtl六、把Jmtere压测结果转换为Html jmeter -n -t /usr/local/software/jmeter/temp/linux_users_api.jmx -l /usr/local/software/jmeter/temp/jtl/result.jtl -e -o/usr/local/software/jmeter/temp/result。
jmeter分布式接口测试一、Jmeter分布式执行原理:1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。
2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的.3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总.二、执行机(slave)配置:1、slave机上需要安装Jmeter,与调度机所安装的Jmeter版本一致最好.2、添加环境变量:JMETER_HOME=D:\B_TOOLS\apache-jmeter—2.13,此处为你Jmeter的路径3、启动bin目录下的:jmeter-server。
bat,启动成功如下图:4、上图上标红的IP和端口会在master里配置时用到。
IP就是slave机器IP,端口默认是1099,端口也可以自定义,这里我自定义为1000,不修改端口,默认调度机配置时,写1099,这个后面会讲.5、多台slave的话,重复1~4步骤就好。
三、调度机(master)配置:1、找到Jmeter的bin目录下jmeter.properties文件,修改如下配置,IP和Port是slave机的IP以及自定义的端口:remote_hosts=10.99。
25.166, 10。
99.25。
207多台slave之前用”,”隔开2、打开Jmeter,选择运行,有远程启动、远程全部启动两个选项:3、选择远程启动全部a) master结果,全部启动,我配置了2台slave,所以有两次执行结果b) slave控制台信息:四、自定义端口:上面其实已经实现了Jmeter的分布式测试,这部分主要介绍下如何自定义slave端口:1、slave:在slave机的Jmeter的bin目录下,找到jmeter.properties文件,修改如下两个配置项,比如我这里修改为1888:server_port=1888server.rmi。
jmeter分布式压测命令摘要:1.介绍JMeter 分布式压测2.JMeter 分布式压测的命令使用3.命令参数详解4.实际应用案例5.总结正文:JMeter 是一款非常强大的压力测试工具,可以用于测试各种协议的服务器,如HTTP、FTP、SOAP 等。
在进行分布式压力测试时,我们需要使用一些特定的命令来完成。
本文将详细介绍JMeter 分布式压测的命令及其使用方法。
1.介绍JMeter 分布式压测JMeter 分布式压力测试是通过多台计算机同时向服务器发起请求,以模拟大量用户访问的情况。
这有助于评估系统在高并发环境下的性能和稳定性。
为了实现分布式压测,我们需要在所有参与压测的计算机上安装JMeter,并配置相关的参数。
2.JMeter 分布式压测的命令使用以下是JMeter 分布式压测中常用的几个命令:- `jmeter.bat`(Windows 系统)或`jmeter.sh`(Linux/Unix 系统):这是启动JMeter 的命令。
运行这个命令后,JMeter 会启动并显示主界面。
- `jmeter -n -t [测试计划文件] -l [结果文件] -e -o [报告文件夹]`:这是运行压力测试的命令。
其中,`[测试计划文件]`是包含测试计划的XML 文件,`[结果文件]`是用于存储结果的CSV 文件,`[报告文件夹]`是用于存储报告的文件夹。
使用这个命令后,JMeter 会根据指定的参数运行压力测试,并将结果和报告保存在指定的位置。
- `jmeter -n -t [测试计划文件] -l [结果文件] -e -o [报告文件夹] -Djava.rmi.server.hostname=<IP 地址或域名>`:这个命令与上一个命令的区别在于,它指定了RMI 服务器的主机名。
在分布式压测中,我们需要为每台参与压测的计算机指定一个唯一的主机名,以便JMeter 能够正确地将请求分配给不同的计算机。
在linux下实现jmeter的分布式测试目录一.录制jmeter脚本 (2)1.1 下载运行jmeter (2)1.2 添加线程组 (2)1.3 集合点 (3)1.4. 添加请求 (4)1.5. 配置http请求 (5)1.6. 参数化变量 (6)1.7. 监控器—聚合报告 (7)1.8. 监控器—PerfMon Metrics Collector (9)1.9. 监控器—JMXMon Samples Collector (10)1.10. 监控器—察看结果树 (11)1.11. 断言 (12)1.12. 监听器—断言结果 (15)二. 如何监控服务器端的CPU与内存? (16)三. 在linux下实现jmeter的分布式 (18)要实现在linux下jmeter分布式测试,首先必须学会在window系统下录制jmeter脚本,所以在正式介绍该问题之前,先介绍下window系统下jmeter 脚本的录制和jmeter的一些小的插件.一.录制jmeter脚本1.1下载运行jmeter下载jmeter,如下的版本:运行bin下的jmeter.bat1.2 添加线程组线程数:n,代表的是本次测试模拟的是n个用户Ramp-Up Period(in seconds):m,代表的是n个用户的启动延时为m秒,通俗点讲,就是如果线程数为10,该值为5,那么每秒钟将要启动2个用户循环次数:s,代表的是该线程组运行的次数,选择“永远”会一直执行下去调度器:个人理解主要是用于当测试系统稳定性时,时间上的一个把控1.3 集合点在jmeter下的集合点,是通过定时器的Synchronizing Timer插件完成的表示的是集合到30个用户后,同时对系统进行某一个事物,集合点主要是用于并发的测试,尤其是要测试接口并发的时候,需要配置该插件1.4. 添加请求在这里以接口并发测试为例子,接口名字:获取题库初始版本号,详细内容,如下:根据接口的性质,这里添加http请求,如下:注:该http请求,必须是在线程组下添加1.5. 配置http请求名称:可以修改为代表该请求功能性的名称服务器名称或IP:可以填写域名()或ip,取决于程序部署到了那台服务器上协议:http,方法:post,取决于研发设计的接口方法,编码格式:utf-8,决定了输出的结果是否为中文路径:填写接口文档中的该接口路径就行,最后一定不要忘了加”?”参数:license,是入参,如果入参license是一个固定的值,值的部分可以直接填写值,如果license是一个变化的量,需要对参数进行参数化,值填写${license},参数化如下.1.6. 参数化变量参数化配置Filename:文件路径,参数值存放的文件,参数在CSV中是以列区分的Variable Name:变量名称Allow quoted data:是否支持引用Recycle on EOF:当读取变量到结尾,是否支持变量值得循环Stop thread on EOF:当读取变量到结尾时,是否停止该线程Sharing mode:变量模式,该变量的值,是适用于当前线程还是所有线程1.7. 监控器—聚合报告通过上面的配置,接口请求的功能就配置完成了,接下来的配置主要就是对结果的监控与分析http请求---监控器—聚合报告:代表的该监控器监控的是该请求的结果聚合报告,能够简明扼要的显示测试结果Samples:样本数,模拟的用户数目Average:所有用户的平均响应时间Median:根据用户的响应时间,按照从小到大的顺序排序,前50%的用户的平均响应时间90%line: 根据用户的响应时间,按照从小到大的顺序排序,前90%的用户的平均响应时间95%line: 根据用户的响应时间,按照从小到大的顺序排序,前95%的用户的平均响应时间99%line: 根据用户的响应时间,按照从小到大的顺序排序,前99%的用户的平均响应时间Min:最小的用户响应时间Max:最大的用户响应时间Error:请求的错误率Throughput:吞吐,每秒钟处理的请求个数KB/sec:每秒钟获取的数据大小1.8. 监控器—PerfMon Metrics CollectorPerfMon Metrics Collector主要是用于监控服务器的CPU与内存.配置监控器,如下:IP:要监控的服务器的ip端口:4444如果要完成该监控,关键的在服务器端装插件,具体过程下面的2详讲1.9. 监控器—JMXMon Samples CollectorJMXMon Samples Collector:主要是用于监控java开发中的JVM配置监控器,如下:关键在服务器端要开启,JVM的7199端口,用于监控以堆内存(max)为例,URL:service:jmx:rmi:///jndi/rmi://192.168.200.7:7199/jmxrmiObject Name:ng:type=MemoryAttribute:HeapMemoryUsageKey:max参数的名称,属性,值可以参考jconsole中的参数信息1.10. 监控器—察看结果树的结果,查看失败的原因,如下:1.11. 断言响应断言:针对的响应内容进行检测,看是否符合期望结果响应数据中必须有true,所以配置如下:响应的内容中,数据部分不能够为空,所以配置如下:大小断言:响应的内容的大小进行检测响应的内容不能够为空,配置如下,字节>01.12. 监听器—断言结果根据10添加了合适的监听器,针对监听器的结果,就要通过监听器,断言结果查看了。
jmeter使⽤-【分布式并发接⼝测试步骤】当测试需要压⼒过⾼时,⼀个负载机的资源往往⽆法⽀撑,此时就需要增加多台机器同时⽣成负载,这样的测试就是分布式测试。
⼀、Jmeter分布式执⾏原理: 1、Jmeter分布式测试时,选择其中⼀台作为调度机(master),其它机器做为执⾏机(slave)。
2、执⾏时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执⾏,slave执⾏时不需要启动GUI,我理解它应该是通过命令⾏模式执⾏的。
3、执⾏完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。
⼆、slave机器配置(linux系统为例):1. 将jmeter装⼊Linux服务器中,这个时候可以注意⼀下,调度机和执⾏机最好安装相同的jmeter和JDK版本,避免因为版本不同⽽发⽣错误2. 安装完成后进⼊jmeter⽬录下的bin⽬录中,打开jmeter.properties⽂件,修改server.rmi.ssl.disable=false,改为true,并去掉注释3. 启动⽬录下的jmeter.bat⽂件如果遇到上⾯这种情况,就使⽤以下命令启动服务 ./jmeter-server -Djava.rmi.server.hostname=主机ip ,主机IP为slave机器的ip;启动成功展⽰如下:如果需要多台slave机器,则重复上述步骤即可。
三、master机器配置(windows系统为例):1. 打开jmeter路径下的jmeter.properties⽂件,修改server.rmi.ssl.disable=false,改为true,并去掉注释将slave机器的IP也填⼊这个⽂件,ip和端⼝可以在服务启动的输出信息中取到,如果添加多个slave机器,则⽤“,”隔开就可以2. 这个时候在jmeter内就可以看到已经添加成功了,点击运⾏10106端⼝的slave服务器,就可以在查看结果树中看到已经执⾏成功了此时slave端也可以看到有运⾏信息输出。
jmeter性能测试部署(Linux)1 Linux下jmeter性能测试1.1 环境配置1.1.1 环境准备整个测试过程中,测试环境为Windows系统和linux系统两部分,Windows环境下调试和配置需要运⾏的jmeter脚本,在linux系统中开始性能测试过程。
Linux安装CentOS 7系统,并在系统中安装好java环境,此次测试中,配置的java为java 1.8.0_211。
1.1.2 测试软件准备测试中准备apache-jmeter-5.0版本jmeter进⾏测试。
为保证脚本设置和脚本运⾏时没有差异,Windows和Linux环境使⽤同⼀个版本的jmeter,也避免测试过程中因测试⼯具版本不兼容,出现异常。
1.2 jmeter集群配置1.2.1 单台jmeter设置将jmeter包拷贝⾄linux指定位置并解压(tar –zxvf 压缩包名称),开始配置jmeter。
1.配置环境变量打开/etc/profile,进⼊⽂件最后添加jmeter环境配置,如下图红⾊横线所⽰,路径为Jmeter包存放位置。
(可进⼊jmeter的bin⽬录下,输⼊pwd命令查看对应位置)配置完成后,保存此配置⽂件,执⾏命令source /etc/profile让配置⽣效。
此时在输⼊命令:jmeter –v可查看对应的jmeter版本信息。
Jmeter要配环境变量,这样不⽤⼿动起server,如果不配置环境变量,每次启动时都需要进⼊到对应的bin⽬录下进⾏操作。
2. Jmeter内存调优压测过程中jmeter报内存溢出(报错:ng.OutOfMemoryError:gc overhead limit exceeded),或在测试过程中因jmeter⾃⾝内存限制,影响测试结果,在测试前可调整jmeter内存。
查看bin⽬录下jmeter⽂件(此次使⽤的版本,内存设置在jmeter⽂件中,也有在jmeter.sh/jmeter.bat⽂件中),修改HEAP=-Xms512m -Xmx1024m对应数值。
jmeter 分布式用法
JMeter分布式测试的用法如下:
1. 配置代理服务器:选择一台机器作为代理服务器,修改它的jmeter.properties文件,将server_port端口禁用,同时禁用server.rmi.ssl。
如果有多个代理服务器,需要对每个代理服务器进行相同的配置。
2. 配置控制机:在控制机上也需要修改jmeter.properties文件,设置remote_hosts并禁用server.rmi.ssl。
在控制机上执行分布式命令,格式为:jmeter -n -t 测试计划路径-R 代理服务器IP1,IP2 -l 测试结果文件路径。
其中,测试计划路径和测试结果文件路
径需要替换为实际的路径和文件名。
3. 启动代理服务器:在代理服务器上双击运行bin目录下的jmeter-server.bat启动代
理服务器。
启动后,JMeter代理服务器只有命令窗口,没有图形界面。
4. 执行测试:在控制机上执行分布式命令启动测试。
测试完成后,可以在控制机上查
看测试结果文件。
Linux下使用Jmeter进行性能测试一、Linux下安装Jmeter1. Linux下首先安装Jdk;2. 下载apache-jmeter-2.13.tgz,复制到Linux系统中的/opt目录下;3. 解压apache-jmeter-2.13.tgz:tar -zxvf apache-jmeter-2.13.tgz4. 配置Jmeter的环境变量: vi /etc/profile;5. 添加下述两行:export JMETER="/usr/local/jmeter/apache-jmeter-2.9"export CLASSPATH="$JMETER/lib/ext/ApacheJMeter_core.j ar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:$CLASSPATH"6. 保存并使用配置变量生效:source /etc/profile7. 校验安装:./jmeter.sh -h8. 至此Jmeter在Linux环境下安装成功!二、Linux下使用单个Jmeter客户端1. 先在windows系统中,(建议使用相同版本jdk、相同版本jmeter,以防出现莫名其妙的问题)使用jmeter创建测试计划2. 保存为Http_Baidu.jmx;3. 在/opt/apache-jmeter-2.13目录下创建plans文件夹用于存放测试计划:mkdir /opt/apache-jmeter-2.13/plans4. 复制Http_Baidu.jmx到/opt/apache-jmeter-2.13/plans目录下;5. 如需要修改测试计划,可在Linux上以文本形式打开,编辑诸如线程数,迭代次数等等参数;6. 在JMeter的bin目录下运行命令开始测试:./jmeter -n -t ../plans/Http_Baidu.jmx -l Http_Baidu_Rst.jtl7. 出现end of run表示测试计划已经运行完毕:8. 拷贝Http_Baidu_Rst.jtl到windows系统下;9. 运行JMeter的bin目录下jmeter.bat,打开JMeter图形窗口,并新建或打开一个测试计划,为该计划添加“结果查看树”和“聚合报告”。
jmeter分布式压测方案Apache JMeter 支持分布式压测,允许在多台机器上同时运行测试计划,以提高测试负载和模拟大量并发用户。
以下是一般的JMeter 分布式压测方案:步骤1:设置主节点1.安装JMeter:在一台机器上安装JMeter,并配置好所需的Java 环境。
2.创建测试计划:在主节点上创建JMeter 测试计划,并配置所有测试元件和脚本。
步骤2:设置从节点1.安装JMeter:在每个执行节点(从节点)上安装JMeter,并配置好Java 环境。
2.配置从节点:修改从节点的jmeter.properties文件,指定主节点的IP 地址和端口号,以便从节点能够连接到主节点。
设置mode=StrippedBatch,这可以减少从节点的资源占用。
步骤3:启动主节点在主节点上启动JMeter,可以通过命令行或图形界面进行。
在命令行中使用以下命令:bashCopy codejmeter -n -t your_test_plan.jmx -l your_test_results.jtl -R IP_of_Node1,IP_of_Node2,... -X其中,-R参数指定从节点的IP 地址,-X参数表示在测试执行结束后生成测试报告。
步骤4:启动从节点在每个从节点上启动JMeter,同样可以通过命令行或图形界面进行。
在命令行中使用以下命令:bashCopy codejmeter-server -Djava.rmi.server.hostname=IP_of_Node其中,IP_of_Node是从节点的IP 地址。
步骤5:监控和分析可以使用JMeter 的监听器或者其他监控工具来监控主节点和从节点的性能。
分析测试结果,检查任何潜在的性能问题。
注意事项:•所有节点的JMeter 版本应该一致。
•所有节点的测试计划文件(your_test_plan.jmx) 应该相同。
•确保网络连接可靠,所有节点之间的防火墙设置正确。
在linux下实现jmeter的分布式测试
--刘红霞
目录
一.录制jmeter脚本 (2)
1.1 下载运行jmeter (2)
1.2 添加线程组 (2)
1.3 集合点 (3)
1.4. 添加请求 (4)
1.5. 配置http请求 (5)
1.6. 参数化变量 (6)
1.7. 监控器—聚合报告 (7)
1.8. 监控器—PerfMon Metrics Collector (9)
1.9. 监控器—JMXMon Samples Collector (10)
1.10. 监控器—察看结果树 (11)
1.11. 断言 (12)
1.12. 监听器—断言结果 (15)
二. 如何监控服务器端的CPU与内存? (16)
三. 在linux下实现jmeter的分布式 (18)
要实现在linux下jmeter分布式测试,首先必须学会在window系统下录制jmeter脚本,所以在正式介绍该问题之前,先介绍下window系统下jmeter 脚本的录制和jmeter的一些小的插件.
一.录制jmeter脚本
1.1下载运行jmeter
下载jmeter,如下的版本:
运行bin下的jmeter.bat
1.2 添加线程组
线程数:n,代表的是本次测试模拟的是n个用户
Ramp-Up Period(in seconds):m,代表的是n个用户的启动延时为m秒,通俗点讲,就是如果线程数为10,该值为5,那么每秒钟将要启动2个用户
循环次数:s,代表的是该线程组运行的次数,选择“永远”会一直执行下去调度器:个人理解主要是用于当测试系统稳定性时,时间上的一个把控
1.3 集合点
在jmeter下的集合点,是通过定时器的Synchronizing Timer插件完成的
表示的是集合到30个用户后,同时对系统进行某一个事物,集合点主要是用于并发的测试,尤其是要测试接口并发的时候,需要配置该插件
1.4. 添加请求
在这里以接口并发测试为例子,
接口名字:获取题库初始版本号,详细内容,如下:
根据接口的性质,这里添加http请求,如下:
注:该http请求,必须是在线程组下添加
1.5. 配置http请求
名称:可以修改为代表该请求功能性的名称
服务器名称或IP:可以填写域名()或ip,取决于程序部署到了那台服务器上
协议:http,方法:post,取决于研发设计的接口方法,编码格式:utf-8,
决定了输出的结果是否为中文
路径:填写接口文档中的该接口路径就行,最后一定不要忘了加”?”
参数:license,是入参,如果入参license是一个固定的值,值的部分可以直接填写值,如果license是一个变化的量,需要对参数进行参数化,值填写${license},参数化如下.
1.6. 参数化变量
参数化配置
Filename:文件路径,参数值存放的文件,参数在CSV中是以列区分的
Variable Name:变量名称
Allow quoted data:是否支持引用
Recycle on EOF:当读取变量到结尾,是否支持变量值得循环
Stop thread on EOF:当读取变量到结尾时,是否停止该线程
Sharing mode:变量模式,该变量的值,是适用于当前线程还是所有线程1.7. 监控器—聚合报告
通过上面的配置,接口请求的功能就配置完成了,接下来的配置主要
就是对结果的监控与分析
http请求---监控器—聚合报告:代表的该监控器监控的是该请求的结果
聚合报告,能够简明扼要的显示测试结果
Samples:样本数,模拟的用户数目
Average:所有用户的平均响应时间
Median:根据用户的响应时间,按照从小到大的顺序排序,前50%的用户的平均响应时间
90%line: 根据用户的响应时间,按照从小到大的顺序排序,前90%的用户的平均响应时间
95%line: 根据用户的响应时间,按照从小到大的顺序排序,前95%的用户的平均响应时间
99%line: 根据用户的响应时间,按照从小到大的顺序排序,前99%的用户的平均响应时间
Min:最小的用户响应时间
Max:最大的用户响应时间
Error:请求的错误率
Throughput:吞吐,每秒钟处理的请求个数
KB/sec:每秒钟获取的数据大小
1.8. 监控器—PerfMon Metrics Collector
PerfMon Metrics Collector主要是用于监控服务器的CPU与内存. 配置监控器,如下:
IP:要监控的服务器的ip
端口:4444
如果要完成该监控,关键的在服务器端装插件,具体过程下面的2详讲1.9. 监控器—JMXMon Samples Collector
JMXMon Samples Collector:主要是用于监控java开发中的JVM
配置监控器,如下:
关键在服务器端要开启,JVM的7199端口,用于监控
以堆内存(max)为例,
URL:service:jmx:rmi:///jndi/rmi://192.168.200.7:7199/jmxrmi
Object Name:ng:type=Memory
Attribute:HeapMemoryUsage
Key:max
参数的名称,属性,值可以参考jconsole中的参数信息
1.10. 监控器—察看结果树
主要是用于看响应结果的,查看成功的数据是否为期望的响应数据,失败的结果,查看失败的原因,如下:
1.11. 断言
响应断言:针对的响应内容进行检测,看是否符合期望结果
响应数据中必须有true,所以配置如下:
响应的内容中,数据部分不能够为空,所以配置如下:
大小断言:响应的内容的大小进行检测
响应的内容不能够为空,配置如下,字节>0
1.1
2. 监听器—断言结果
根据10添加了合适的监听器,针对监听器的结果,就要通过监听器,断言结果查看了。
针对断言结果,会输出在空白处的
二. 如何监控服务器端的CPU与内存?
1. 在jmeter客户端,添加监控CPU,内存的插件-JMeterPlugins-Standard-1.3.0.zip,解压放置在jmeter的
安装路\lib\ext下,重启jmeter,能够在jmeter监控中出现PerfMon Metrics Collector,监控服务器性能
2. 在jmeter要监控的服务器中,装插件ServerAgent-2.2.1,且解压,启动该插件 sh
startAgent.sh
3. 在jmeter客户端,监控中添加PerfMon Metrics Collector,输入要服务器信息
三. 在linux下实现jmeter的分布式
1.如果linux服务器是二台电脑,其中一台作为服务器(19
2.168.200.121),一台为控制器(192.168.200.122)
2.更改控制器192.168.200.122的jmeter中jmeter.properties中的remote_hosts参数,增加192.168.200.121:1099
3. 开启192.168.200.121与192.168.200.122上的jmeter –server服务
正常启用方法:进去jmeter-server所在的文件夹,执行:sh jmeter-server
或者nohup sh jmeter-server &
Nohup的意思:不在cli下输出执行信息
&:意思是后台执行
如果ps –ef |grep jmeter出现如下的界面,说明启动成功
如果这个时候,起不来,怎么办?
检查下linux主机名与jmeter-server中的服务器主机名字是否一致,最好linux主机名不要使用127.0.0.1,
修改为本机的IP地址
4. 在控制器192.168.200.122上,运行测试文件,如下:
注:test1,jmx为在window环境下录制好的脚本
Sh jmeter –n –t test1.jmx –l ss1.jtl –r
-r 代表启动所有的远程机器
-R 192.168.200.121,192.168.200.122代表的启动某些远程机器
5. 在window下,新建监控,查看结果即可
注意要想再window下查看运行结果,就必须在做jmeter脚本的时候,添加各个监控器的保存路径
如上,把对JVM的监控保存到了linux压测服务器的
/opt/apache-jmeter-2.13/report/JVM-yy1.CSV该目录下,要想知道在运行脚本中JVM服务器的性能,只需要把该CSV文件导出,在window系统下的jmeter里打开就能生成需要的图像。