Jmeter脚本 GUI和非GUI启动方式

news/2024/7/7 21:46:04

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.下载Jmeter

地址:http://jmeter.apache.org/download_jmeter.cgi 

2.启动jmeter

运行bin/jmeter.bat

3.添加线程组

在TestPlan节点上右键,Add-->Threads(Users)-->Thread Group。

Number of Threads (Users):要模拟的并发用户量。
Ramp Up Period (in seconds):在多长时间内均匀启动所有的线程。比如Number of Threads设为10,Ramp Up Period设为1,则jmeter每隔0.1秒启动1个线程。
Loop Count:单用户任务重复执行的次数。可以设为Forever,这样jmeter就不会自动停止,需要强制终止。
还可以设置Scheduler Configuration。这里有两组设置:指定StartTime和End Time让jmeter在特定的时间区段内执行工作;Startup Delay表示从当前时刻开始延迟多长时间开始运行,Duration设定运行时长。

4.用jmetr向服务器发送Java Request

当然传统的方法是让jmeter向服务器发送Http Request或FTP Request,但这里不作展示。

假如我们要模拟多用户并发向Zookeeper Cluster发送查询znode的请求,首先要写1个程序来指定单用户的请求行为。

新建一个Java Project,导入jmeter/lib/ext下的两个jar包:ApacheJMeter_core.jar和ApacheJMeter_java.jar。

?

 将project导出为jar包,放到jmeter/lib/ext下,重启jmeter。

在Thread Group上是右击,Add-->Sampler-->Java Request。

设置nodePath和timeout的值。

5.添加Listener

在TestPlan上右击,Add-->Listener-->Aggregate Report。Jmeter生成的报告有多种,这里以Aggregate Report为例。

可以指定将report保存到某个文件,如上图中所示保存到report.csv,在非GUI模式下运行Jmeter这是非常必要的。

 

可以在bin/jmeter.properties中设置report文件的默认格式,你可能要经常要更改这两项配置:jmeter.save.saveservice.output_format=csv #默认有文件格式为jtl jmeter.save.saveservice.default_delimiter=\t #默认使用","作为域之间的分隔符

 

点击Configure可以自己定义report中你所关心的数据项。

比如我只关心每个请求是否成功,以及每个请求所用的时间,所以只勾选了两项。

6.为Jmeter安装PerfMon插件

PerfMon用来监控Server的CPU、I/O、Memory等情况。

1. 插件下载地址:http://code.google.com/p/jmeter-plugins/wiki/PerfMon 

2. 把JMeterPlugins.jar放到jmeter客户端的jmeter/lib/ext下。

3. 启动jmeter,添加Listener时你就看到PerfMon Metrics Collectors了。

4. 另外还需要把下载下来的PerfMon解压后放到所有的被测试的服务器上,并运JMeterPlugins/serverAgent/startAgent.sh,默认工作在4444端口。

5. 使用PerfMon截图:

再次提醒一下,在非GUI模式下运行Jmeter时指定把result保存到一个文件是非常必要的。

7.非GUI模式下运行Jmeter

具体方法是:先在GUI模式下创建TestPlan,保存为jmx文件。命令行启动jmeter:./ApacheJMeter -n -t testplan.jmx (选项-n表示non-GUI,-t指定TestPlan文件)。运行结束后Aggregate Report和PerfMon Metrics Collector就会保存在你指定的文件中。把保存PerfMon Metrics Collector的文件拖到Jmerter GUI中就可以看到CUP等使用状况拆线图了。

8.远程启动jmeter

应用进场景:用一台机器(称为JMeter客户端)上的jmeter同时启动另外几台机器(称为JMeter远程服务器)上的jmeter。

1. 保证jmeter客户端和jmeter远程服务器采用相同版本的jmeter和JVM。

2. jmeter客户端和jmeter远程服务器最好在同一个网段内。

3. 在jmeter远程服务器上运行JMETER_HOME/bin/jmeter-server (UNIX)或者JMETER_HOME/bin/jmeter-server.bat(Windows)脚本 。

4. 在jmeter客户端上修改/bin/jmeter.properties文件,找到属性"remote_hosts",使用JMeter远程服务器的IP地址作为其属性值。可以添加多个服务器的IP地址,以逗号作为分隔。 
例如:
#remote_hosts=127.0.0.1
remote_hosts=9.115.210.2:1099,9.115.210.3:1099,9.115.210.4:1099
# RMI port to be used by the server (must start rmiregistry with same port)
server_port=1099

5. 在jmeter客户端上启动jmeter:
./jmeter -n -t plan.jmx -r #选项-r表示远程启动(remote)
jmeter客户端会自动向jmeter远程服务器上分发测试计划。

转载于:https://my.oschina.net/zhugenqiang/blog/691325


http://lihuaxi.xjx100.cn/news/243003.html

相关文章

C#版及nodejs版的com端口监听程序

感受: 写监听程序的感受:原来有些事情并不是想象的那么难,难和简单就只在一个点上,一个点突破了,后面就豁然开朗了。所以有些问题,不能死闷,要先思考,然后查资料,然后问有经验的人…

[转] 程序员写简历的注意事项

Notus 注:原文比较长,经过删减归纳。主要内容总结如下 用 word 或 pages 制作, 导出为 pdf(考虑不同平台的阅读体验)。另外 word 格式也可以。 推荐的命名方式。提供少许信息,如姓名、职位、文档说明 举例:…

Java虚拟机中获得Runtime实例的方法是什么?

Runtime类用于表示Java虚拟机运行时的状态,它用于封装Java虚拟机进程。每次使用“java”命令启动Java虚拟机时都会对应一个Runtime实例,并且只有一个实例,应用程序会通过该实例与其运行时的环境相连。应用程序不能创建自己的Runtime实例&…

yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss

做项目,需要24小时制式的时间,误用了yyyy-MM-dd hh:mm:ss,导致出现一个很难发现的bug,现记录下,方便以后查阅。 yyyy-MM-dd hh:mm:ss 12小时制 yyyy-MM-dd HH:mm:ss 24小时制

HDU 2080 夹角有多大II

夹角有多大II Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10901 Accepted Submission(s): 5642 Problem Description这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和…

web前端开发培训有哪些学习阶段

​ web前端技术主要针对于移动互联网是比较多的,对于零基础的同学来说前期主要学习基本的静态布局,HTML CSS,下面是web前端开发培训有哪些学习阶段的具体内容。 ​  web前端开发培训有哪些学习阶段? 一、html5如何学习 1.HTML5 CSS3 JQ …

javascript中实例方法与类方法的区别

在javascript中,类有静态属性和实例属性之分,也有静态方法和实例方法之分 类属性(静态属性):通过类直接访问,不需要声明类的实例来访问 类方法(静态方法):通过类直接访问…

ssh免密码登录的原理

工作第一天,就需要登录各种服务器,免密码登录无疑能大大的提高工作效率。以前只知道配置,今天了解了下原理。 免密码登录原理 图解,server A免登录到server B: 1.在A上生成公钥私钥。 2.将公钥拷贝给server B,要重命…