当前位置:文档之家› 在linux下实现jmeter的分布式测试

在linux下实现jmeter的分布式测试

在linux下实现jmeter的分布式测试
在linux下实现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.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:可以填写域名(https://www.doczj.com/doc/9e15027321.html,)或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:https://www.doczj.com/doc/9e15027321.html,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里打开就能生成需要的图像

Jmeter多接口测试性能测试

一、接口业务流程 1、获取token接口 http://192.168.1.4:9900/rest/getToken/ 2、获取图片链接口 http://192.168.1.4:9900/regist/getImagePath/?token=89bd9d88f4f3421c9e639dfab0c a423c&type=fql 返回数据: {"msg": "\u6210\u529f", "code": 0, "detail": {"image_path": "/images/regist/20160822/img1471837595.25.jpg"}} 3、获取图片验证码接口 http://192.168.1.4:9900/images/regist/20160822/img1471850521.18.jpg 4、获取注册结果接口 http://192.168.1.4:9900/regist/imageView/?imagecode=zds4&phone=182********&t oken=89bd9d88f4f3421c9e639dfab0ca423c&type=fql 二、JMETER的使用 1、基本操作 1.1、新增测试计划 新增线程组,接着在该线程组下方新增4个“HTTP请求”(添加-Sampler-HTTP请求),

再在该线程组下方添加“察看结果树”(添加-监听器察看结果树)。也可以在每个HTTP请求下方添加“察看结果树”,方便找到需要正则或参数化的数据。 一个完整的测试计划诞生了,如下图2.1所示 图2.1 1.2、配置HTTP请求 以上图中的“HTTP请求01”为例进行说明。在HTTP请求窗口中的Basic标签页面上输入服务器名称或IP、端口号和路径(路径URL地址端口号后面的),其他默认,如下图2.2-1所示。此时可以执行下然后在当前的HTTP请求01的察看结果树里检查接口是否能正常访问(如下图2.2-2所示)。 图2.2-1

jmeter性能测试报告.doc

快乐农家网站压力测试报告 一、测试简介 1、测试环境: 测试人:*** 测试时间:2010年9月13日 服务器 IP :客户端内存:(R)4 测试工具:测试内容: 二、测试说明 1、名词定义(时间的单位均为ms): Samples -- 本次场景中一共完成了多少个线程 Average -- 平均响应时间 Median -- 统计意义上面的响应时间的中值 90% Line -- 所有线程中 90%的线程的响应时间都小于 xx Min -- 最小响应时间 Max -- 最大响应时间 Error -- 出错率 Troughput -- 吞吐量 KB/sec -- 以流量做衡量的吞吐量 2、安装启动JMeter ,分别对以上页面进行压力测试 分别测试10、100、500、1000 个线程,即模拟这些数目的用户并发;每个用户循环发送请求 1; Ramp-up period ( inseconds )的值设为0,即并发请求。

三、测试结果及分析 1、首页测试结果及分析: Label#Samples Average Median90%Line Min Max Error% Throughput KB/sec 首页10 53 52 73 39 73 % sec 首页100 31 26 66 10 83 % sec 首页500 76 32 196 9 661 % sec 首页1000 36 22 69 9 345 % sec 分析: #Samples: 模拟 1000 个用户时的压力测试,Average :平均响应时间为秒,90%Line: 百分之90 的用户相应时间为秒,Error% : 没有无法相应的请求。 2、社区论坛测试结果及分析: Label#Samples Average Median90%Line Min Max Error% Throughput KB/sec 社区论坛10 53 52 73 39 73 % sec 社区论坛100 10279 9748 14997 528 15505 % sec 社区论坛500 28048 22277 79473 9 82674 % sec 社区论坛1000 17988 2509 71178 9 86822 % sec 分析:#Samples: 模拟 500 个用户时的压力测试,tomcat 已经明显看到响应慢了,Average : 平均响应时间为秒,90%Line:百分之90 的用户相应时间为秒,Error% :百分之40的请求无法响应。模拟1000 个用户时,出现的无法响应的概率:%。 3、专家与咨询测试结果及分析 Label#Samples Average Median90%Line Min Max Error% Throughp KB/sec ut

Jmeter接口自动化测试方法简介

Jmeter接口自动化测试方法简介 一、思路简洁 1.了解待测接口参数规范,具体参考wiki,明确get参数和post参数,是否需要验证cookie、ua等 2.Jmeter参数化方式配置请求host、url、header消息头等 3.配置csv文件,编写测试用例参数和预期结果格式校验 4.根据需要编写beanshell脚本或导入辅助性jar包,用于解析接口返回结果,比如解密数据 5.在Jmeter中添加必要的断言或监听器,用于收集用例执行的结果 6.执行测试,查看用例结果,重点分析Fail的用例,和开发沟通,上报bug 二、一个简单的性能测试 QPS 解释 QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对https://www.doczj.com/doc/9e15027321.html, 和 https://www.doczj.com/doc/9e15027321.html, 两个博客首页请求,因此只需要使用 HTTP Request Sampler 即可。 建立测试计划 启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组 一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。

jmeter中每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。 线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。 准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。 循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

Jmeter性能测试之JAVA脚本编写

Jmeter性能测试脚本编写 一。jmeter使用简介 简单点说,使用jmeter就是新建个Test plan 在test plan 下建个Thread Group ,Thread Group 下新建个simpler来发起请求,然后新建个listener,一般选择View Results Tree和Aggregate Report 来收集请求的结果数据,View Results Tree 侧重于单个请求的具体结果,Aggregate Report 侧重于多次请求后平均计算的数据结果 具体的步骤网上有很多文章,这里不再详细述说了 这里介绍一下同步定时器(Synchronizing Timer):在该定时器处,使线程等待,一直到指定的线程个数达到后,再一起释放。可以在瞬间制造出很大的压力。没错,它和loadrunner 的集合点(rendezvous point)差不多的功能。为什么要用这个组件呢?因为在线程组中设置的线程是依次去访问请求的,不是多个线程一起同步去访问的。要是想模拟线上的多个用户同时并发访问的情况, 最好使用Synchronizing Timer来设置一下。 Number of Simulated User to Group:模拟用户到组数,即设置组的用户数,达到该用户数后才进行接口的请求 Timeout in milliseconds :超时(毫秒),设置超时时间,即组在超时时间后达不到设置的线程数时,会丢弃继续请求

这些配置完成后,生成的是一个jmx为后缀的文件,里面的内容是xml格式文件,是这样的: 二。使用jmeter API 来构建自己的请求 一般来说,被压测的接口常用的就是那几种:http, socket,webservice,soap 这些,这些类型请求都可以使用各种不同的sampler来构建,

性能测试工具Jmeter的配置与使用

Jmeter的安装配置与使用 一、Badboy的安装 由于JMeter不支持录制,需要手工一点一点添加,所以对于新手可能很难做到位或是做好.现在常用的方法是使用Badboy录制,然后生成JMeter脚本,然后用JMeter打开,添加监听器来查看结果。所以首先安装Badboy软件 1、下载Badboy 通过Badboy的官方网站下载Badboy的最新版本. Badboy: https://www.doczj.com/doc/9e15027321.html,.au/ 2、安装Badboy 安装Badboy如同一般的Windows应用程序一样,一路点”下一步”最后点”完成”就安装好了.安装完后在开始菜单及桌面都看不到,你需要到Badboy的安装目录下,找Badboy.exe,直接双击它即可启动Badboy. 3、启动Badboy 启动Badboy,你可以看到下面的界面.则说明Badboy软件安装成功 二、Jmeter的安装 1、下载Jmeter软件

官方下载地址: https://www.doczj.com/doc/9e15027321.html,/site/downloads/downloads_jmeter.cgi 2、安装Jmeter软件 安装JMeter,只需简单的解压zip或tar文件到你想要安装的那个目录里。 前提要安装 JDK (这里使用 JDK 1.5.0 )配置环境变量 CLASS_PATH=”%JAVA_HOME%\bin;%JAVA_HOME%\lib\tools.jar;%JMeter\bin%” 三、Jmeter的使用 脚本的录制过程 刚已经说过由于jmeter自己的脚本录制较为复杂,所以建议用badboy软件进行jmeter脚本录制。 下面讲述如何运用badboy进行录制: 1、开启badboy 双击软件图标开启badboy即可看到以后界面: 2、开始录制 在地址栏(图中用红色框住部分)中输入你需要录制的Web应用的URL,并点击GO 按钮开始录制。开始录制后,你可以直接在Badboy内嵌的浏览器(主界面的右侧)中对被测Web应用进行操作,所有的操作都会被记录在主界面左侧的编辑窗口中:如下图所示

Jmeter进行http接口性能测试

Jmeter进行http接口性能测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器,等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。 一、测试需求描述 本次需求是用JMeter模拟三个http接口,并对三个接口进行压力测试,接口的详细信息接口规范文档中已经明确说明。第一个接口:获取进件号;第二个接口:发送用户通信详细内容;第三个接口:查询计算结果。 二、测试分析 1.逻辑分析 从接口规范文档分析,三个接口明显是有依赖关系的,第一个接口:获取到的进件号要传递到第二和第三个接口,第二个接口用户信息发送成功后,启动第三个接口查询计算的结果,查询计算结果时要循环查询,如果是计算没有完成即计算结果查询失败,一直循环查询直到查询成功。 2.测试工具的准备 多个接口测试,我们使用JMeter工具进行测试,下载最新的JMeter版本下载成功后解压安装,解压后找到bin目录,运行JMeter.bat,启动JMeter。 三、使用JMeter接口测试

1.首先添加一个线程组; 2.在线程组上添加一个Http请求,重命名“获取进件号”,根据接口文档,请求方式为 GET请求,填写相应的服务器地址和请求路径,端口号默认为80,编码格式为UTF-8; 这个Http请求的作用为获取进件号,并传递给第二和第三个接口。为了实现获取的进件号传递,添加了后置处理器->正则表达式处理器。

jmeter性能测试操作手册

JMeter性能测试实例 JMeter性能测试实例 (1) 一、测试目标 (1) 二、使用badboy工具录制登录脚本 (1) 三、Jmeter导入Login.jmx脚本 (2) 四、用户名的参数化 (3) 五、关联 (4) 六、添加监听器(Listener) (5) 七、运行脚本 (6) 八、结果分析 (8) 一、测试目标 1)测试目标网站是http://127.0.0.1:1080/WebTours/ 2)测试目的是得到该网站在100和500个虚拟用户并发登录网站 “http://127.0.0.1:1080/WebTours/”的平均响应时间,错误率,吞吐量,程序所在机器的CPU运行效率,memory占用大小 二、使用badboy工具录制登录脚本 打开badboy工具,点击工具栏上的红色圆形按钮,在地址栏中输入被测试项目的地址“http://127.0.0.1:1080/WebTours/”,录制登录过程

点击“跳转”后 进入登录页面 登录成功后 此时录制完成,点击工具栏上的红色圆形按钮结束录制。 选择"文件"--Export to Jmeter... 得到Jmeter脚本Login.jmx 三、Jmeter导入Login.jmx脚本Jmeter中打开Login.jmx脚本,得到如下目录树

四、用户名的参数化 参数化方式:添加--前置处理器--用户参数(勾选上每次迭代更新一次) 单击"http://127.0.0.1/WebTours/login.pl",将username的值改为${user}

五、关联 在“http://127.0.0.1/WebTours/nav.pl”请求下右击,选择添加--后置处理器--正则表达式提取器 正则表达式提取器的设置如下图显示: 单击"http://127.0.0.1/WebTours/login.pl",将userSession的值改为${session}

jmeter性能测试案例

JMeter基础之一一个简单的性能测试 发表于:2013-08-12来源:博客园作者:虫师点击数:80508标签:性能测试 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。1)测试目标网站是https://www.doczj.com/doc/9e15027321.html, 和https://www.doczj.com/doc/9e15027321.html, 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。 1)测试目标网站是https://www.doczj.com/doc/9e15027321.html, 和https://www.doczj.com/doc/9e15027321.html, 2)测试目的是该网站在负载达到20 QPS 时的响应时间。 QPS 解释 QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对https://www.doczj.com/doc/9e15027321.html, 和https://www.doczj.com/doc/9e15027321.html, 两个博客首页请求,因此只需要使用HTTP Request Sampler 即可。 建立测试计划 启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组

一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加 -->Threads(Users)--->线程组)中选择线程组即可。 jmeter中每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。

Jmeter性能测试简介

Jmeter 性能测试简介 文档作者:胡丽霞 日期:2017/1/11

文档修订记录

1、概述 性能测试作为测试重要内容一致,其重要性不可忽略,然而性能测试的方式有很多,有些可以手工实现,有些需要借助工具。测试页面的响应时间我们可以使用Httpwatch,或者模拟大批量数据,自己估算时间,然而多个用户并发操作测试如果不借助工具似乎很难实现。业内提供了很多性能测试的工具,综合考虑,Jmeter 经济实用,并且容易掌握,应对简单的性能测试足以。 Jmeter可以对接口做功能测试以及性能测试,本文主要介绍Jmeter一些简单的性能测试操作。 2、适用对象 本文主要对Jmeter做简单的介绍,适用于测试人员使用此工具做接口简单的性能测试,同时也适合开发人员调试接口性能。仅为工具入门做参考。 3、工具介绍 3.1 工具下载 可以到Jmeter的官网下载最新版本:https://www.doczj.com/doc/9e15027321.html,/ 或者可以用此安装包: apache-jmeter-3.1.zip 3.2 工具安装 此工具是一个免安装包,只需要将其解压,到bin目录下执行jmeter.bat文件即可打开工作界面,进行测试,如下图;Jmeter能够正常打开的前提是环境中需要有JDK。

3.3 Jmeter的工作界面 工具界面简洁明了,其中菜单栏中涉及的主要操作基本上提到了工具栏,当在工具栏中找不到对应操作时再返回菜单栏查找。 工作区域也分为工作目录树形结构和主要区域,树形目录方便归类查询,使用过程更便捷,管理更加便利。接下来在使用过程中介绍一些常用的操作。

3.4 Jmeter关键组件 3.4.1 组件的功能介绍 在树形菜单测试计划节点或者工作台节点点击右键,会出现如下一些组件: 以下做简单归纳: 1、Threads:这个组件主要用来控制Jmeter并发时产生线程的数量,在它的 下一级菜单下只有一个组件(线程组),可以这么理解每个线程就是一个虚拟的用户。所有的其他类型组件必须是(线程组)节点的子节点。我们测试就是从线程组开始的; 2、配置单元:和Sample组件一起工作,主要用来配置Sample如何来发起请 求访问服务器,这个东西的主要特点是可以把一些Sample的共同配置放在一个元 素里面方便管理,配置单元是有作用域的。作用域和树的那个关系一样越是上级节点的作用域越大,越是接近叶子节点的作用域就越小,可以复写上级作用域的配置; 3、定时器:这个主要是用来调节(线程组),控制线程每次运行测试逻辑(比如说:发出请求)的时间间隔。当然这个下面还有很多类型的定时器,他们主要功能就是调节时间间隔,但个个组件之间的策略有很大不同。 4、Sample :可能上图中没有出现Sample,需要在线程组上添加才可以,见 图

Jmeter性能自动化测试系列之参数化方法

Jmeter性能自动化测试系列之参数化方法 作者:大虫 Jmeter作为虽然作为一款和LoadRunner相媲美的性能测试工具,但参数化功能实在不咋地,这里我大概总结了一下Jmeter的参数化方法! 至于参数化的用途,我这里就不多说了,做测试的都明白吧!本文主要介绍最全、最强大的参数化方法,对参数化有一个彻底的认识,这里提供了多种参数化方法, 先看一下没有参数化的脚本:这里随便写一个Beanshell 作为测试代码!不懂代码的没关系,只要知道print 就是打印信息的意思~! 运行结果:按照代码中写死的:Hello,T est!输出!

1、Jmeter参数化之用户变量 在测试计划里面添加一个用户自定义的变量,变量名:tmpStr,变量值:你好,测试!或者新建一个用户自定义变量元件,来添加自定义变量,这里不做演示:

代码: print(vars.get("tmpStr")); vars 是Jmeter提供的一个全局变量对象,用户操作Jmeter中的变量! 运行结果如图所示: 2、Jmeter参数化之用户动态设置变量 通过脚本,可以随时注册Jmeter变量,这样就可以增加变量来源的灵活性! 代码: vars.put("tmpStr2","你好,祖国!");//动态注册一个变量tmpStr2 print(vars.get("tmpStr2")); 运行结果:前面的报错信息是因为Jmeter脚本框对中文的支持不是很好,这个不影响运行结果,对于这个错误,我也是无语,目前用的版本是:2.13 r1665067,只要在BeanShell

脚本框输入一个中文字符,保存的时候就会在控制台报一大堆错误!毕竟工具是老外开发,对中文还是有瑕疵啊! 3、Jmeter参数化之函数读取数据 随便选取了几个函数作为实例,函数具体参数和百度查询 __Random:生成随机数 __RandomString:生成随机字符串 __time:获取当前时间 __UUID:生成唯一UID __threadNum:线程ID __CSVRead:从文件中读取一列 _StringFromFile:从文件中读取一行 代码:

Jmeter性能测试工具使用总结

Jmeter 使用总结 1.下载 Apache JMeter是Apache组织开发的基于Java的压力测试工具。下载链接: https://www.doczj.com/doc/9e15027321.html,/download_jmeter.cgi 2. 安装 Jmeter需要Java环境支持,首先配置系统JAVA环境变量。 Windows:解压apache-jmeter-ver.zip文件,运行bin目录下jmeter.bat文件启动。Linux:解压apache-jmeter-ver.zip文件,运行bin目录下jmeter.sh文件启动。 3. Jmeter主要组件简单介绍 a. 测试计划:Jmeter测试起点,是其他组件的容器。 b. 线程组:设置测试并发线程数量,迭代次数或者运行时长。 c. 配置元件:主要是配置信息,主要使用请求头信息、变量等。 d. Samler:指定发送的请求,所有的测试任务都在该组件完成。 e. 监听器:负责测试结果显示,支持把测试结果写入到文件。常用监听器:察看结果树, 显示请求和响应的细节,一般在测试脚本是否正确时使用;聚合报告:性能测试结果统计,显示总请求数,平均响应时间,错误率,TPS,数据传输速度等。 4. 使用Jmeter创建测试计划实例(以公有云为例) a. 运行bin目录下jmeter.bat文件启动Jmeter,界面如下 b.添加线程组并改名为Upload4KBObject。右键测试计划->添加->Threads->线程组。 c.给线程组添加Http信息头,并添加所需字段。

d. 给线程组添加Sampler,Http请求。 e.给线程组添加监听器,察看结果树。 f.运行该测试计划并察看结果树结果。

Jmeter性能测试中文手册

JMeter使用教程 付增斌2006-3-17 第一章:用JMeter 测量Oracle数据库性能 一、简介 在当今快节奏的世界中,只是完成工作是不够的。完成工作,并且要以最简便的方式完成工作,这才是关键。数据库世界也不能幸免这种对性能的渴求。客户希望能够迅速而有效地保存和提取其数据。在许多场合设置中,Oracle都拥有领先的性能跟踪记录,领先于众多的数据库竞争对手。不幸的是,由于数据库或者配置中的某些设计缺陷,许多Oracle用户可能无法获得Oracle性能的所有益处。有许多关于Oracle性能调整的文章和论文,Oracle中也有许多能够进行深入分析的好工具。我将在这篇文章中介绍一个工具——Apache的JMeter,这是另外一个可以添加到您的工具箱中的工具,它可以帮助您了解数据库的性能,还能帮助您进行模拟测试。 二、关于Apache JMeter JMeter是Apache Jakarta项目麾下的一个产品。JMeter是基于Java TM Swing 的桌面应用程序,是为进行负载测试、测量系统性能而设计的。最初,它是为测试Web应用程序而设计的。但是它后来进行了扩展,现在您已经可以用它来测试关系数据库了(通过 JDBC TM)。在JMeter的官方站点 https://www.doczj.com/doc/9e15027321.html,/jmeter/ 上,您可以了解关于它的更多内容。 利用 JMeter,您可以确保您的数据库可以满足某些指标(例如能够处理一定数量的并发用户)。模拟测试是成功项目的关键。JMeter可以针对Oracle模拟出繁重的负载。这可以通过JMeter的多线程框架来实现。JMeter的多线程框架允许大量线程进行并发采样。正如您将在本文后面看到的,JMeter能为您提供图形化的反馈。

基于Jmeter的自动化性能测试方法及系统与设计方案

本技术提供了一种基于Jmeter的自动化性能测试方法及系统,所述方法采用在Jmeter测试工具中设置并发量、端口号、IP地址及循环数,运行Jmeter得到测试结果,同时编写统计结果脚本,分析Jmeter测试结果,获得最终的性能测试结果;同时本技术还通过编写Shell脚本将并发量、端口号、IP地址、循环数及Jmeter测试结果和保存目录进行参数化,来实现多个接口,多组并发,多个不同IP地址或端口的测试;本技术无需多次输入执行命令,无需多次重写脚本,无需将测试结果拷贝到安装了jmeter GUI的电脑中,可节约大量时间,提升工作效率,提升工作准确率。 权利要求书 1.一种基于Jmeter的自动化性能测试方法,其特征在于,压测机服务器、API服务器及数据库

均在由代理服务器提供网络连接的同一个内网中,所述压测机服务器与API服务器通过API 接口进行连接,所述数据库提供API接口所需要调用的数据,压测机服务器上加载Jmeter性能测试工具,所述方法包含以下步骤: S1:启动Jmeter性能测试工具,设置压测机服务器发送请求的并发数、代理服务器的IP地址及端口号及每个请求的发送循环数; S2:设置好步骤S1中的参数后运行Jmeter进行测试,将Jmeter测试结果保存在Jtl文件中; S3:分析Jtl文件,编写统计结果代码,形成统计脚本,运行统计脚本,得到最终的统计结果,形成最终性能测试报告。 2.根据权利要求1所述一种基于Jmeter的自动化性能测试方法,其特征在于,还包括编写Shell 脚本来将步骤S1中的压测机服务器发送请求的并发数、代理服务器的IP地址及端口号、每个请求的发送循环数及Jmeter测试结果保存目录进行设置和参数化,将所述Shell脚本导入Jmeter并运行,以执行多个测试接口,多组压测机并发,多个不同IP地址或端口的测试。 3.根据权利要求2所述一种基于Jmeter的自动化性能测试方法,其特征在于,所述Shell脚本通过C或Python编写。 4.根据权利要求1所述一种基于Jmeter的自动化性能测试方法,其特征在于,根据步骤S3中所述Jmeter测试结果:第一列数据为时间戳,第二列代表响应时间,根据公式:每秒请求数=(总请求数/总运行时间)得到每秒请求数。 5.根据权利要求1所述一种基于Jmeter的自动化性能测试方法,其特征在于,步骤S3中得到的最终性能测试结果包含:平均响应时间、响应时间中值、最小响应时间、最大响应时间、90%响应时间、95%响应时间、每秒查询速度、每秒从服务器接收的数据量、每秒从服务器发出的数据量、吞吐量及错误率。 6.一种基于Jmeter的自动化性能测试系统,其特征在于,采用权利要求1-5所述任意一项基于Jmeter的自动化性能测试方法来实现Jmeter的自动化性能测试。

JMeter HTTP压力测试步骤

Apache JMeter配置步骤 压力测试实例 一. 安装环境: (2) 二.安装步骤: (2) 三.实例环境: (2) 四.测试步骤 (3) 4.1 脚本录制 (3) 五.测试验证脚本 (11) 六.开始测试 (14) 6.1 添加报表 (14) 6.2 编辑测试压力数据 (15) 6.3 查看报表 (16)

一.安装环境: JMeter在Window XP / 2003 / W7 /W8基本都可以运行,前提是要安装好JDK包,JMeter 是基于JAVA开发的压力测试软件。该次配置实例是在W8-64位系统中完成。 安装包: Apache Jmeter 2.10 至2013年11月5日时为最新版本 JDK版本jdk-7u45-windows-x64 (下载的时候注意自己系统版本)下载地址: Jmeter 2.10: https://www.doczj.com/doc/9e15027321.html,/download_jmeter.cgi JDK: https://www.doczj.com/doc/9e15027321.html,/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 二.安装步骤: 安装步骤不做介绍,JDK安装下一步,下一步就OK。JMeter不需要安装,压力包解压出来即可使用。 三.实例环境: 压力测试目标:ECSHOP商场 压力测试目的:测试ECHSOP商场300人同时登陆查看评论时,服务器压力 压力测试脚本设计: 1.打开ECSHOP登陆页面 2.输入账户密码登陆ECSHOP 3.进入用户中心 4.查看评论 5.退出ECSHOP管理平台 压力测试预期效果:自己的测试环境,压力测试效果就不做讲解,只对配置步骤讲解。

通过Jmeter进行http性能测试方案

Jmeter-Http测试方案和测试报告示例 第一部分测试报告示例 第二部分Jmeter使用说明 第一部分测试报告示例 性能测试报告: 测试目标:测试xxx平台用户登录并发的承载能力 测试服务器:xxx云平台 测试原理:远程并发Http请求,通过POST方式。 测试模型一: 1.并发登录线程数:500 2.Ramp-Up Period:0ms 3.执行时间:执行一次 4.测试结果 测试模型二 1.并发登录线程数:1000 2.Ramp-Up Period:0ms 3.测试结果

测试模型三 1.并发登录线程数:4000 2.Ramp-Up Period:0ms 3.执行时间:执行一次 4.测试结果 测试模型三 1.并发登录线程数:6000 2.Ramp-Up Period:0ms 3.执行时间:执行一次 4.测试结果

测试模型四 1.并发登录线程数:8000 2.Ramp-Up Period:0ms 3.执行时间:执行一次 4.测试结果 测试模型五

1.并发登录线程数:100 2.Ramp-Up Period:0ms 3.执行时间:30分钟(7月23日23:21-23:51) 4.测试结果 性能测试结果比较: 数据含义: 样本数目是总共发送到服务器的请求数。 最新样本是代表时间的数字,是服务器响应最后一个请求的时间。 吞吐量是服务器每分钟处理的请求数。 平均值是总运行时间除以发送到服务器的请求数。 中间值是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 偏离表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。压力测试结果:

相关主题
文本预览
相关文档 最新文档