文档库 最新最全的文档下载
当前位置:文档库 › JMETER分布式部署

JMETER分布式部署

JMETER分布式部署
JMETER分布式部署

Jmeter进行分布式性能测试

2011-06-01 09:38

由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的Agent来分担JMeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的一些修改,具体如下。

1.安装 JMeter,并确定其中一台机器作为 Controller,其他的机器作为 Agent。然后运行所有 Agent 机器上的JMeter-server.bat文件——假定我们使用两台机器 19

2.168.0.11 和 192.168.0.12 作为 Agent;

(Agent机器上必须安装jdk,并设置环境变量)

2.在Controller 机器的 %JMeter_home%/bin下,编辑 JMeter.properties 中“remote_hosts=127.0.0.1”。其中的 127.0.0.1 表示运行 JMeter Agent 的机器,这里需要修改为

“remote_hosts=192.168.0.11:1099,192.168.0.12:1099”——其中的 1099

为端口号。

3、启动controller机器上的jmeter.bat,选择菜单Run中“Remote Start”中的192.168.0.11:10099和192.168.0.12:1099来运行Agent。

4. 有时代理的机器太少,仍不能满足需要,则需要将作为Controller的电脑也当作Agent,则同样需要修改JMeter.properties文件,将Controller的IP地址写入。这时,需要打先打开Controller电脑中JMeter下bin目录下的jmeter-server.bat,然后再打开JMeter.bat,此时,进入Run -> Remote Start 菜单,可以看到Controller也作为远程机器进行运行。

当远程访问时,会看到控制台上打印出一行:Starting the test on host [ip]:1099 @....,远程执行结束,会打印一行:Finished the test on host [ip]:1099 @...。

常见问题:

1、确定在controller机器上安装jdk,版本和jmeter一致,配置环境变量:Java_home等

在Agent机器上安装jdk,配置环境变量:Java_home和JMeter_home

2、Agent机器启动Jmeter_server.bat时,后台提示:"could not find ApacheJmeter_core.jar"

解决方法:这个是开始没有找到ApacheJmeter_core.jar,后来去JMETER_HOME 目录下去查找,最后找到了,如果不希望看到Could not find的字样,需要添加环境变量JMETER_HOME,路径为bin目录的上一级目录,这样启动

jmeter-server服务时,就只会看到Found ApacheJMeter_core.jar。

3、Jmeter分布式控制过程中,各个Agent启动的线程数等于线程组中的配置,

不是均分线程组中的配置

4. Jmeter安装目录不要放在例如:C:/Program Files/**,因为jmeter-server.bat不支持含空格的文件夹路径。

Jmeter安装

一、 Apache JMeter介绍 1. Apache JMeter是什么 Apache JMeter 是Apache组织的开放源代码项目,是一个100%纯Java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其它测试领域。最新的版本大家可以到 https://www.wendangku.net/doc/9b11797931.html,/site/downloads/downloads_jmeter.cgi下载。 2. 用它能做什么 Apache JMeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java对象,数据库和查询,FTP服务器或是其它资源)的性能进行测试。JMeter 可以用于在服务器,网络或对象模拟繁重的负载来测试它们提供服务的受压能力或者分析不同压力条件下的总体性能情况。你可以使用JMeter提供的图形化界面,分析性能指标或者在高负载情况下测试你的服务器/脚本/对象。 3. Apache JMeter能做什么 ?能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。 ?完全的可移植性和100%纯Java。 ?完全Swing的轻量级组件支持(预编译的JAR使用 javax.swing.*)包。 ?完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。 ?精心的GUI设计允许快速操作和更精确的计时。 ?缓存和离线分析/回放测试结果。 ?高可扩展性: 1) 可链接的取样器允许无限制的测试能力。 2) 各种负载统计表和可链接的计时器可供选择。 3) 数据分析和可视化插件提供了很好的可扩展性以及个性化。 4) 具有提供动态输入到测试的功能(包括JavaScript)。 5) 支持脚本变成的取样器(在1.9.2及以上版本支持 BeanShell)。

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

JMeter2.2使用手册

SINODATA JMeter2.2安装与使用

目录 一、JMeter2.2安装启动 (1) 二、JMeter2.2使用 (1) 1. 测试脚本录制 (1) 2. 记录结果设置 (6) 3. 运行及记录结果查看 (10) JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是2.2。JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、

java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

一、JMeter2.2安装启动 下载的.zip文件解压缩到C:/JMeter(后面的文章中将使用%JMeter%来引用这个目录)目录下。现在,请使用%JMeter%/bin下面的jmeter.bat批处理文件来启动JMeter的可视化界面,下面的工作都将在这个可视化界面界面上进行操作。下面的图片是JMeter的可视化界面的屏幕截图。 二、JMeter2.2使用 1. 测试脚本录制

1、选中测试计划单击鼠标右键,在弹出菜单中选择添加->线程组; 2、接下来选中工作台单击鼠标右键,在弹出菜单中选择添加->非测试元件->HTTP代理服务器;

3、在“HTTP 代理服务器”窗口中目标控制器下拉框选择测试计划 > 线程组(表示脚本生成在这 个线程组下),分组下拉框选择每个脚本放入一个新的控制器,避免生成的脚本杂乱且无法组 织;

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.wendangku.net/doc/9b11797931.html, 和 https://www.wendangku.net/doc/9b11797931.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安装和使用

1、安装JDK (有java的运行环境可以略过)(安装文件见附件)JDK的安装路径:D:\Program Files\Java\jdk1.6.0_43 这是jre的安装路径:D:\Program Files\Java\jre6 安装完成后对环境变量进行配置:(Win7) 计算机-属性-高级系统设置---环境变量 首先,在系统变量中新建JAVE_HOME,路径为D:\Program Files\Java\jdk1.6.0_43 其次,在系统变量的Path的路径最前面,添加 D:\Program Files\Java\jdk1.6.0_43\bin;D:\Program Files\Java\jre6\bin; 最后,在系统变量中新建CLASSPATH,路径为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 配置完成进行验证: C:\Users\dallen>java -version java version "jdk1.6.0_43" Java(TM) SE Runtime Environment (build 1.6.0_43-b01) Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode) 2、jmeter 的使用(安装文件见附件) 1> 找到$path\bin\jmeter.bat, 双击运行。 2>界面相关信息 3、第一步创建线程组

线程组设置 线程组是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组之下。其他的测试元件(如监听器)可以被直接放在测试计划之下,这些测试元件对所有线程组都生效。线程组就像它的名字所描述的那样,被用来管理执行性能测试所需的JMeter 线程。用户通过线程组的控制面板可以: 设置线程数量。 设置线程启动周期。 设置执行测试脚本的循环次数。 每一个 JMeter 线程都会完整地执行测试计划,而且它们之间是完全独立运行的。这种多线程机制被用来模拟服务器应用的并发连接。参数Ramp-Up Period 告诉JMeter 达到最大线程数需要多长时间。假定共有10 个线程,Ramp-Up Period 为100 秒,那么JMeter 就会在100 秒内启动所有10 个线程,并让它们运转起来。每一个测试线程都会在上一个线程启动10 秒之后才开始运行。假定共有30 个线程,Ramp-Up Period 为120 秒,那么线程启动的间隔就为4 秒。 Ramp-Up 参数不能设定得太短,否则在测试的初始阶段会给予服务器过大的压力。Ramp-Up参数也不能设定得太长,否则就会发生第一个线程已经执行完毕,而最后一个线程还没有启动的情况(除非测试人员期望这种特殊情况发生)。

Jmeter分布式测试配置教程

一、Jmeter分布式执行原理: 1、Jmeter分布式测试时,选择其中一台作为调度机(master客户端),其它机器做为执行机(slave 服务端)。 2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。 3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。 二、执行机(slave)配置: 1、slave机上需要安装Jmeter,和jdk。 2、添加环境变量:JMETER_HOME=D:\B_TOOLS\apache-jmeter-2.13,此处为你Jmeter的路径 JAVA_HOME=C:\Java\jdk1.6.0_20 Path=%JAVA_HOME%\bin;%PATH%;%SystemRoot%/system32;%SystemRoot%; CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 3、启动bin目录下的:jmeter-server.bat,启动成功如下图: 4、上图上标红的IP和端口会在master里配置时用到。IP就是slave机器IP,端口默认是1099,端口也可以自定义,这里我自定义为1000,这个后面会讲。 5、多台slave的话,重复1~4步骤就好。 三、调度机(master)配置: 1、脚本:简单的一个访问百度的脚本:

2、找到Jmeter的bin目录下jmeter.properties文件,修改如下配置,IP和Port是slave机的IP以及自定义的端口(这里端口我自定义为100,后面会讲如何自定义): remote_hosts=10.13.223.202:1000,10.13.225.12:1000 多台slave之前用","隔开,我这配置了2台,可以看到标红的这个就是上面截图slave的IP和Port. 3、打开Jmeter,选择运行,有运程启动、运程全部启动两个选项: 4、选择远程启动-->10.13.225.12:1000

jmeter操作实例分析

JMeter操作实例 基本功能介绍 1.常用测试计划元件 主要包含右键的功能模块介绍 1.1 Threads(users) 1.1.1 setUp Thread Group 一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。 说白了就是在启动其他线程前,该线程会首先启动并且完成后才会启动其他线程。

1.1.2 teardown thread group 一种特殊的hread group,用于执行测试后的动作,即所有线程完毕后启动的线程. 1.1.3 thread group(线程组) 这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。 1.2测试片段(Test Fragment) 1.2.1 Test Fragment 测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。 1.3 配置元件 1.3.1 CSV Data Set Config 被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理众多变量。其实就是设置变量。

1.Variable Names:变量名列表(逗号分隔),可以指定变量名。 2.Allow quoted data?: CSV文件是否容许值被引用 3.Recycle on EOF: 达到文件结尾后,是否从文件开始循环重新读取(默认True),当到达文件尾时,且Recycle选项设置为True,就会从文件第一行重新开始读取,如果设置为false,而Stop thread on EOF是False,那么当到达文件尾部时所有变量都将被置为,可以通过设置JMeter属性csvdataset.eofstring来改变该值。如果Recycle选项为false,而Stop thread是True,那么到达文件尾部之后,将导致线程被终止。 4.Stop thread on EOF?:达到文件结尾后,线程是否该终止。 5.Sharing mode:如果希望每个线程拥有自己独立的值集合,那么就需要创建一系列数据文件,为每个线程准备一个数据文件,如test1.csv、test2.csv等,使用文件名test${__threadNum}.csv,并将“sharing mode"设置为"Current thread"

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.wendangku.net/doc/9b11797931.html,.au/ 2、安装Badboy 安装Badboy如同一般的Windows应用程序一样,一路点”下一步”最后点”完成”就安装好了.安装完后在开始菜单及桌面都看不到,你需要到Badboy的安装目录下,找Badboy.exe,直接双击它即可启动Badboy. 3、启动Badboy 启动Badboy,你可以看到下面的界面.则说明Badboy软件安装成功 二、Jmeter的安装 1、下载Jmeter软件

官方下载地址: https://www.wendangku.net/doc/9b11797931.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性能测试学习_鲁德性能测试

jmeter性能测试学习 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库,FTP 服务器,等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。 JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以 到https://www.wendangku.net/doc/9b11797931.html,/jmeter/index.html下载源代码和查看相关文档。 JMeter作用领域 JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java 对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。 使用JMeter测试Web应用 接下来的章节里,作者将详细的演示如何使用JMeter来测试Web应用的完整过程。 2.1 测试环境 作者使用了Tomcat作为Web服务器进行测试,被测试的内容是一个jsp文件和一个servlet,jsp文件调用JavaBean、打印相关信息,servlet接受用户参数、调用javabean、输出相关信息。详细的内容请参考作者提供的JMeter.war的内容。 2.2 安装启动JMeter 大家可以到通过 https://www.wendangku.net/doc/9b11797931.html,/dist/jakarta/jmeter/binaries/jakarta-jmeter-1.9.1.zi p下载JMeter的release版本,然后将下载的.zip文件解压缩到C:/JMeter(后面的文章中将使用%JMeter%来引用这个目录)目录下。

jmeter配置、安装手册

jmeter配置、安装 一、工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性、度量被测试软件的性能。设计jmeter的初衷是测试web应用,后来又扩充了其它的功能。jmeter可以完成针对静态资源和动态资源(servlets, perl脚本, java对象, 数据查询s, ftp服务等)的性能测试。jmeter可以模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全面测试软件的性能。并且jmeter提供图形化的性能分析。 二、使用环境 JMeter 可以运行在solaris, linux, windows (98, nt, 2000,2003). jdk1.4以上。本文章主要介绍使用JMeter测试windows环境的web server 和DB server的环境搭建步骤,以及使用Jmeter进行压力测试的入门。 三、软件下载 JDK https://www.wendangku.net/doc/9b11797931.html,/javase/downloads/index.jsp jmeter https://www.wendangku.net/doc/9b11797931.html,/download_jmeter.cgi 四、JDK安装 下载jdk1.6.0_10.exe,这接点击默认安装,一般安装至C:\Program Files\Java目录下。 桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中输入:CLASSPATH,变量值中输入:C:\Program Files\Java\jdk1.6.0_10\lib\dt.JAR; C:\Program Files\Java\jdk1.6.0_10\lib\TOOLS.JAR; C:\Program Files\Java\jdk1.6.0_10\BIN;再按“新建”,在变量名中输入:JAVA_HOME,变量中输入:C:\Program Files\Java\jdk1.6.0_10;修改PATH变量,添加%JAVA_HOME%/bin;然后确定即可; 五、Jmeter安装 解压jakarta-jmeter-2.3.4.zip文件至c盘,本文解压至C:\jakarta-jmeter-2.3.4目录下。 桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:C:\jakarta-jmeter-2.3.4 ,再修改CLASSPATH变量,变量值中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;% JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然后确定即可。 然后点击Jmeter目录下bin文件夹里的jmeter.bat就可以打开Jmeter

jmeter中文使用手册

Jmeter用户手册 整理人:大傻 2008-12-12 1介绍 Apache JMeter 是100%纯JA V A桌面应用程序,被设计为用于测试CS结构的软件。 同时也可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlets,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。 同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许你使用常规表达式来创建这些assertions。 2开始 2.1安装 下载安装最新的版本,将会包含所有你需要建立和运行Web,FTP,JDBC和JNDI测试的文件。如果你想进行JDBC测试,你需要使用合适的JDBC driver。JMeter中不包含JDBC drivers。其他可能需要下载的软件: Bean Shell Java Activation Framework – needed for Java Mail Java Mail – needed for mail visualiser and SOAP test JMS – for JMS samples General Java Kit 接下来一步,就是浏览“建立测试计划”一章来熟悉JMeter的基本操作,例如:添加和删除元素。最后,浏览适当的章节来学习如何建立不同种类的测试计划。例如,如果你对Web应用程序的测试比较感兴趣,就浏览“建立一个Web测试计划”章节。其他种类的测试计划建立的章节包括:JDBC,FTP和JNDI。 一旦你熟悉了建立和运行JMeter测试计划,就可以开始熟悉各种配置参数,例如:timers,listeners,assertions和其他的参数,来帮助你更好地控制你地测试计划。 2.2系统要求 JMeter 1.8 以上的版本需要JDK1.4以上的版本支持运行。JMeter可以运行在如下操作系统上:Unix,Windows和Open VMS。 l安装JDK: l JA V A的环境变量设置 1.使用鼠标右击“我的电脑”->属性->高级->环境变量 2.系统变量->新建->变量名:JA V A_HOME 变量值:d:\jdk 3.系统变量->编辑->变量名:Path 在变量值的最前面加上:%JA V A_HOME%\bin; 4.系统变量->新建->变量名:CLASSPATH 变量值:。; l安装Tomcat

Jmeter中文介绍材料(完全版)

安装JDK: JAVA的环境变量设置 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:JAVA_HOME 变量值:d:\jdk 系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin; 系统变量->新建->变量名:CLASSPATH 变量值:.; 安装Tomcat CATALINA_HOME=d: \tomcat User Manual 用户手册 1 介绍 Apache JMeter 是100%纯JAVA桌面应用程序, 被设计为用于测试CS结构的软件. 同时也可以用来测试静态和动态资源的性能, 例如:静态文件, Java Servlets, CGI Scripts, Java Object, 数据库和FTP服务器等等. JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能. 同时, JMeter可以帮助你对你的应用程序进行回归测试. 通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值. 为了更高的适应性, JMeter允许你使用常规表达式来创建这些assertions. 2 开始 2.1 安装 下载安装最新的版本, 将会包含所有你需要建立和运行Web, FTP, JDBC和JNDI测试的文件. 如果你想进行JDBC测试, 你需要使用合适的JDBC driver. JMeter中不包含JDBC drivers. 其他可能需要下载的软件: ●Bean Shell ●Java Activation Framework – needed for Java Mail ●Java Mail – needed for mail visualiser and SOAP test ●JMS – for JMS samples ●General Java Kit 接下来一步, 就是浏览”建立测试计划”一章来熟悉JMeter的基本操作, 例如:添加和删除元素. 最后,浏览适当的章节来学习如何建立不同种类的测试计划. 例如, 如果你对Web 应用程序的测试比较感兴趣, 就浏览”建立一个Web测试计划”章节. 其他种类的测试计划建立的章节包括:JDBC, FTP和JNDI. 一旦你熟悉了建立和运行JMeter测试计划, 就可以开始熟悉各种配置参数, 例如: timers, listeners, assertions和其他的参数, 来帮助你更好地控制你地测试计划.

WEB性能测试-JMeter工具测试并发

WEB性能测试-并发测试 今天根据程序开发的逻辑和习惯来解决几个问题: (1)JMeter并发测试的基本使用。 (2)redis和mysql相比的性能差距如何? (3)大量的并发和请求下redis、mysql、nginx各自会出现的问题?(4)遇到并发带来各种各样的问题如何解决? 问题一:JMeter并发测试的基本使用 (1)设置系统语言:Options->Choose Lanuage 里选择适合你的语言。(2)添加线程组: (3)设置线程属性: 线程数:也就是并发数。 Ramp-Up时间(秒):并发时间,0为同时并发。 循环次数:重复次数。 (4)添加HTTP请求: 协议:http或https。 服务器名称或IP:请求地址。 路径:要请求的路由或文件路径。 参数:添加请求参数。 (5)添加察看结果树:可查看发送的数据,返回的结果等。

(6)添加汇总报告:可查看错误率,吞吐量等。 问题二:大量的并发和请求下redis、mysql、nginx各自会出现的问题? 在同时并发2000的情况下(因为redis队列为异步,所以这里不考虑redis出列的性能问题): mysql:错误率87.9%,成功条数241。 redis:错误率0.35%,成功条数1993。 总结:从以上结果可以看出在高并发场景下msyql扛不住压力错误率高。 结论:redis在处理并发性能优于mysql。 问题三:大量的并发和请求下redis、mysql、nginx各自会出现的问题? 3000并发循环请求3次相当于9000的次请求的情况下: (1)nginx报错:Too many open files(打开的文件数超过限制nginx默认为1024)。 (2)redis报错:RDB: 2 MB of memory used by copy-on-write。 (3)mysql直接写入失败。 问题四:遇到并发带来各种各样的问题如何解决? (1)nginx错误分析:最大打开文件数超过限制

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中文教程

Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。JMeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。 另外,JMeter能够通过让你们用断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而 Apache软件组织的Stefano Mazzocchi是JMeter的创始人。他写出它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。我们重新设计JMeter来增强用户界面和增加功能测试的 我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有危机JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。 开始使用JMeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI测试时使用的所有文件。 如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。 其它你可能需要下载的软件: ?BeanShell ?Java Activation Framework - JavaMail需要 ?Java Mail - mail 显示 and SOAP 测试需要 ?JMS - JMS 取样器 ?General Java download page 详细参见安装的jar包中的 JMeter Classpath 一章 ? 下一步, 开始使用JMeter并且参见用户手册构建测试计划一章使自己更加熟悉JMeter基础 (例如,添加和删除元素)。 最后, 参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web应用测试感兴趣,那就参见构建一个Web测试计划。其他测试计划的细节是JDBC, FTP, and JNDI。 一旦你熟练构建和执行JMeter测试计划, 通过你的测试计划你会观察到给你更多帮助的各种元素的配置(定时器, 监听器, 断言, 和其他)。 JMeter 需要运行环境匹配的最小需求。 2.1.1 Java 版本 JMeter 需要一个完整适当的JVM 1.3或更高的版本. 我们现在尽力与JVM 1.3保持兼容,然而JMeter 在1.4或者更高运行的会最好。 因为JMeter 仅使用Java标准API, 请不要把因为JRE实现版本而无法运行JMeter的bug报告提交。 Java 1.3 不包括 SSL (HTTPS) 支持 - 你将需要下载 JSSE. 同样, 它不会像其他更 高版本的Java那样好的运行。为了更好的结果使用Java1.4或者1.5。

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测试数据和测试结果分析图表聚合报告: 测试数据统计与分析:

一、图形报表 图表底部参数的含义如下: 样本数目是总共发送到服务器的请求数。 最新样本是代表时间的数字,是服务器响应最后一个请求的时间。 吞吐量是服务器每分钟处理的请求数。 平均值是总运行时间除以发送到服务器的请求数。 中间值是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 偏离表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。 二、聚合报告

图表含义说明如下: Label:说明是请求类型,如Http,FTP等请求。 #Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。 Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。 Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 90%line:是指90%请求的响应时间比所得数值还要小。 Min:是代表时间的数字,是服务器响应的最短时间。 Max: 是代表时间的数字,是服务器响应的最长时间。 Error%:请求的错误百分比。 Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。 KB/sec:是每秒钟请求的字节数。 三、使用分析 在测试过程中,平均响应时间是我们性能测试的一个重要衡量指标,但是在测试中,特别是在聚合报告中,得出的90%Line,我这里参考《《LoadRunner 没有告诉你的》之一——描述性统计与性能结果分析》,我认为90%Line等同于该文作者提出的90%响应时间,这个数

相关文档