一篇文章学会jmeter

其实网上教程一大把,里是我自己整理的一些使用体会。这里捡几个常用的说说,也能应付大多数场景。

首先是安装,请先安装java环境,百度java,进入官网根据电脑版本下载jdk,下最新的不会错。

安装完之后,要配置下环境变量。

点击我的电脑----属性----高级----环境变量----在系统变量中----点击新建,

在变量名中输入:JAVA_HOME

变量值中输入:C:\Program Files (x86)\Java\jdk1.6.0_18

再次点击新建:

在变量名中输入:CLASSPATH,

变量值中输入:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;

然后再系统变量中找到Path,点击编辑,在变量值中加上:

%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;(如果前面没有“;”需要加上)

配置完成之后,点击确定保存,然后cmd打开命令窗口输入:java或者javac,出现大串字符串表示配置成功。

也可以输入:java -version 查看java版本来查看是否配置成功。

(之前装过java一般可跳过此步)。

接下来安装jmeter,官网下载合适版本,

点击我的电脑----属性----高级----环境变量----在系统变量中----点击新建,

变量名输入:JMETER_HOME

变量值输入:安装目录\apache-jmeter-2.9

然后编辑CLASSPATH变量,加上%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;然后确定即可

操作完上面的步骤,我们就可以点击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了。

【Ubuntu 环境下安装】

以JMeter2.9为例,下载地址:http://jmeter.apache.org/download_jmeter.cgi,选择binaries下2.9版本。

解压完成后,添加环境变量:

vi /etc/profile

添加下述两行:

export JMETER="/usr/local/jmeter/apache-jmeter-2.9"
export CLASSPATH="$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:$CLASSPATH"

完成添加后下述命令使配置生效:

source /etc/profile

然后开始测试。图方便可以用badboy录制脚本。直接导出export to jmeter。jmx脚本。然后jmeter打开导出的脚本。干货来了。

线程组:线程数,多少个用户,循环次数,执行时间。这个不难理解。定时任务可以勾选调度器。

HTTP请求:

名称:可以随意取,我们可以根据录制脚本的路径来命名

注释:可以对该界面做一个简单介绍

服务器名称或IP:即我们的服务器或者IP的地址,我因为是在本机上的项目,故填写localhost,可以填写127.0.0.1。

端口号:我用的是tomcat,自己设置的端口号为8086(tomcat默认为8080)

后面的超时定义可以不用填写。

Implementation:这里我们录制时默认填写为JAVA

协议填写为:http

方法为:GET

Content encoding:编码可以不用填写

路径:即页面的路径;下面的重定向等选择可以根据需要勾选,这里我们保持录制不修改。

Parameters参数:即跟着路径一起发送的参数及文件

下面的代理服务器等可以忽略,按需要填写。

默认请求:该组件可以为我们的http请求设置默认的值。假如,我们创建一个测试计划有很多个请求且都是发送到相同的server,这时我们只需添加一个 Http request defaults组件并设置“Server Name or IP”,然后添加多个http请求且不设置"server name or ip",这些http请求会默认使用Http request defaults组件设置的值。

参数化,首先建一个参数文件,1,选项-函数助手-csvread。${__CSVRead(E:\c.txt,0)}。2,添加,配置原件-csv Date Set Config。(文件路径名称,utf-8,user,pwd。${user},${pwd}。)

断言,名称:随意,注释:随意

Apply to:这里可以选择默认值

要测试的响应字段:这里选择响应的文本,即返回的页面信息

模式匹配规则:这里选择包括,即响应的文本是否包括我们验证的信息

要测试的模式:开发者名称,即我们需要验证,开发者名称是否在响应文本中存在,也可以添加更多的字段来验证。

其他还有文件大小和响应时间等的断言。

监听器,做性能测试的时候,经常需要各种数据来验证我们的测试结果,Jmeter里面也提供了相关的功能,这里主要说一下Aggregate Report聚合报告。

点击添加---监听器,选择:查看结果树,和聚合报告,如果需要看到断言信息也可以选择断言结果,将设置的一切保存之后,然后点击启动,系统将会运行,将结果在监听器中表现出来。

聚合报告:

Label:标签,即我们上面的请求名称

#Samples:本次场景中一共发出了多少个请求

Average:平均响应时间

Median:中位数,也就是50%的用户的响应时间

90%Line:表示90%的用户的响应时间,如果最小值和最大值相差很大的话,我们一般选择这个作为最终测试结果

Min:最小响应时间

Max:最大响应时间

Error%:出错率,本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量

KB/sec:每秒从服务器端接受到的数据量

 jmeter插件----JMeterPlugins---监控系统资源使用情况

地址:http://code.google.com/p/jmeter-plugins/downloads/list,选择需要的版本,下载

将下载的文件解压,得到如下目录:

将JMeterPlugins.jar包复制到Jmeter的lib目录下面的ext目录下面,重新启动Jmeter,我们点击添加就可以看到出现了很多的[email protected]开头的文件.

这里监控内存我们使用的是:[email protected] - PerfMon Metrics Collectot

在使用之前,我们需要运行/serverAgent/startAgent.bat这个文件,我们需要将serverAgent目录及下面的文件复制到我们测试的服务器上,然后点击打开(我这里是本机,直接在本机上面打开这个应用系统即可),它的默认端口为4444。

一切准备好后,点击启动,即可得到如下图:

你就可以得到系统运行时,你所需要的常用的性能值了。

监控内存及CPU等(jconsole)

打开这个小工具的步骤很简单,如果你已经配置好了Jmeter运行的环境,那么你也就不用去做其他的配置,直接 点击:开始——》运行——》输入cmd——》然后在出现的命令行界面输入“jconsole”即可弹出一个【java监视和管理控制台】,

将会弹出如下界面:

这里我们选择本地进程,并点击一下sun.tools.jconsole.JConsole这一行,然后点击连接,就可以查看我们的内存和CPU的使用情况了。

当然,我们要得到服务器的内存使用等信息,也可以选择 本地进程下面的远程进程,在文本框中输入我们需要测试的服务器的IP地址:端口,然后在下面输入用户名和密码,点击连接,看看会出现什么情况。

以上内容部分转自http://blog.csdn.net/yangcs2009/article/details/31370091

以后有空讲讲测试前的准备工作和测试后的结果分析。

时间: 2024-08-04 01:51:47

一篇文章学会jmeter的相关文章

一篇文章学会页面传值的10种方法(下)

一篇文章学会页面传值的10种方法(下) 6.代理委托实现页面之间的反向传值 这一种方法就是运用协议实现传值,这种方式也是在工程中常用的一种传值方法.首先创建好ViewController和SubViewController,在ViewController中创建好一个展示信息的Label,在SubViewController中创建好一个TextFeild,我们实现在第二个界面点击屏幕时,将TextFeild中的文字传到第一个界面,然后让背景颜色变色. 效果如下: 代理传值.gif 第一步: 首先我

一篇文章学会页面传值的10种方法(上)

一篇文章学会页面传值的10种方法(上) 1.最简单AB面正向传值 效果如下: 最简单的正向传值.gif 首先我们先创建两个视图控制器ViewController.swift和SubViewController.swift 设置第一个界面 首先在第一个界面创建好一个TextFeild,用来写我们要传的文字 import UIKit class ViewController: UIViewController {     let textField = UITextField()     overr

一篇文章学会docker

一篇文章学会docker docker安装 docker在线安装 1.更新yum到最新 yum update 2.卸载旧版本 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine 3.安装需要的软件

初窥CSS布局(一篇文章学会布局)

写一篇文章,难免要为之命名,所谓名不正,则言不顺:言不顺,则事不成.这篇文章是要说明一下CSS中的布局,实为入门之法矣. 本想命名为"布局说"的,但是总感觉题目太大,被大神们看到难免沦为笑柄,思来想去,便命名为"初窥CSS布局". 不管是写一个html页面,还是打算建一个网站,首先应该想的是怎么为之布局,这是常常让我头疼的事情,不知,这是否也曾困扰着 足下?您是怎么为页面布局的呢?是否有为页面布局的通用之法呢?我不知道.但是下文,就是从头到尾介绍了一种页面布局的方法

一篇文章学会shell工具篇之sed

sed工具执行原理; 有关sed的参数及action的常见操作方法; 定址; 模式空间和保持空间; 使用标签 1.首先先来了解一下什么是sed? sed叫做流编辑器,在shell脚本和Makefile中作为过滤器使用非常普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换成为另一种格式输出.下面我们通过一张原理图来了解一下它的工作模式: 编辑命令的格式为,sed /pattern/action 经过sed处理后文件内容并没有改变,除?使用重定向存储输出.sed主要用来自动编辑一

一篇文章让Oracle程序猿学会MySql【未完待续】

一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方面和难度方面都比MySql要高一些,所以精通Oracle的DB在学习MySql的时候,没有必要从头到尾再去搞一遍,只需要掌握两者的用法区别即可.故本篇文章就针对Oracle和MySql的区别来把MySql的知识掌握住,在文章中,实例都是MySql环境下的实例,而Oracle可能知识一句话来概括,所以

一篇文章看懂Android学习最佳路线

为什么中高级Android程序员不多呢?这是一个问题,我不好回答,但是我想写一篇文章来描述下Android的学习路线,期望可以帮助更多的Android程序员提升自己. 作者:来源:Android开发中文站|2015-11-12 10:40 收藏 分享 前言 看到一篇文章中提到"最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺",这的确不假,从我在百度所进行的一些面试来看,找一个适合的高级Android工程师的确不容易,一般需要进行大量的面试才

一篇文章教你轻松安装hadoop(第2篇)

如果你看了我的上一篇文章,那此时你对hadoop已经有了一个大概的了解,那接下来这篇文章就教大家怎么安装hadoop环境,只要你用心,仔细的跟着文章中讲到的做,肯定能正确安装.     第三章 安装hadoop环境 由于大家在学习hadoop时候,主要以Hadoop 1.0环境为主学习就可以,所以这主要介绍如何搭建Hadoop 1.0分布式环境. 整个分布式环境运行在带有linux操作系统的虚拟机上,至于虚拟机和linux系统的安装这里暂不做过多介绍. 安装Hadoop分布式环境: 1) 下载H

百度百家号“漏洞”大曝光 一篇文章十几万阅读量 收入上万

越来越发现自媒体的好处,就是现在太多的平台都提供入口,基本是四大门户还有三大巨头互联网公司,百度.腾讯 .阿里都提供!那么接下来我要分享的是中国最大的搜索引擎公司-百度!,相信最近很多人都知道百度百家号,并且是百度大力的推广. 我看到之后毫不犹豫的,就是注册一个账号,这个等审核的过程真是酸甜苦辣一样的煎熬,不过还好.终于审核通过!一开始的话!发布很多文章都没有什么阅读量,都没有什么访问量!经过一番死磕研究之后发现,找文章的素材是最关键的地方,素材找的好,那么阅读量就会上来:再说了,我也不是那么好