Jmeter服务性能测试工具

Jmeter性能测试工具

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

Windows下使用

这里我们选择Binaries包,jmeter不需要安装直接解压使用,但是需要配置Java环境

安装jdk,这里就不说了

配置Java环境变量:

win7系统

计算机--属性--高级系统设置--高级--环境变量--系统变量--新建

变量名:JAVA_HOME

变量值:C:\ProgramFiles (x86)\Java\jre1.8.0_101#java路径

再次点击新建

变量名:JMETER_HOME

变量值:D:\apache-jmeter-3.1#jmeter存放路径

再次点击新建

变量名:CLASSPATH

变量值:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

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

%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;#如果前面没有“;”需要加上,如:;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;

依次点击确定

Web性能测试:

打开apache-jmeter-3.1/bin/jmeter.bat

打开的时候会有两个窗口,Jmeter的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口

1、测试计划--右键或者点击编辑--添加--Threads(Users)--Setup Thread Group(创建一个线程组,组名可修改)

2、Setup Thread Group--右键或者点击编辑--添加--Sampler--HTTP请求

3、Setup Thread Group -右键或者点击编辑--添加--监听器--AggregateGraph

4、Setup Thread Group --右键或者点击编辑--添加--监听器--察看结果数

5、点击Setup Thread Group,配置一些参数

a)线程数:一般我们用来表示多少个用户,即我们测试时的用户数量

b)Ramp-up Period(in Seconds):表示每个用户启动的延迟时间,上述我设为1秒,表示系统将在1秒结束前启动我设置的1000个用户,如果设置为1000秒,那么系统将会在1000秒结束前启动这1000个用户,开始用户的延迟为1秒,如果我设置为0秒,则表示立即启动所有用户。

c)循环次数:如果你要限定循环次数为10次的话,可以取消永远的那个勾,然后在后面的文本框里面填写10;在这里我们勾上永远,表示如果不停止或者限定时间将会一直执行下去,是为了方便调度器的调用。

d)调度器:我们勾选调度器,出现下面的可选项

e)持续时间:表示脚本持续运行的时间,以秒为单位,比如如果你要让用户持续不断登录1个小时,你可以在文本框中填写3600。如果在1小时以内,结束时间已经到达,它将会覆盖结束时间,继续执行。

f)启动延迟:表示脚本延迟启动的时间,在点击启动后,如果启动时间已经到达,但是还没有到启动延迟的时间,那么,启动延迟将会覆盖启动时间,等到启动延迟的时间到达后,再运行系统。

g)启动时间:表示我们脚本开始启动的时间,当你不想立即启动脚本测试,但是启动脚本的时间不会再电脑旁的时候,你可以设定一个启动的时间,然后再运行那里点击启动,系统将不会立即运行,而是会等到你填写的时间才开始运行。

h)结束时间:与启动时间对应,表示脚本结束运行的时间。

6、点击HTTP请求

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

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

3)服务器名称或IP:即我们的服务器或者IP的地址。

4)端口号:我用的是tomcat,所以是8080,后面的超时定义可以不用填写。

5)Implementation:这里我们录制时默认填写为JAVA,协议填写为:http,方法为:GET

6)Content encoding:编码可以不用填写

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

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

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

7、点击Setup Thread

Group,修改线程数和循环次数

8、点击上方的启动,会提示测试结果要保存的文件位置

9、点击Aggregate Graph

1)Label:每个JMeter的element(例如HTTP Request)都有一个Name属性,label显示的就是Name属性的值。

2)#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100,现在显示10000,是因为我上面分别配置了100。

3)Average:平均响应时间--默认情况下是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间。

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

5)90% Line:90%用户的响应时间。

6)Min:最小响应时间。

7)Max:最大响应时间。

8)Error%:本次测试中出现错误的请求的数量/请求的总数。

9)Throughput:吞吐量--默认情况下表示每秒完成的请求数(Request per Second),当使用了Transaction Controller时,也可以表示类似LoadRunner的Transaction per Second数。

10)KB/Sec:每秒从服务器端接收到的数据量。

可以在web server调整参数后,再次测试,查看前后对比结果。

数据库性能测试

需要安装jdbc驱动

Mariadb:

https://mariadb.com/download_file/connector/java/mariadb-java-client-1.5.4.jar

Mysql(压缩包,只需要用到包中的jar包):

http://dev.mysql.com/downloads/connector/j/

1、测试计划--右键或者点击编辑--添加--Threads(Users)--Setup Thread Group(创建一个线程组,组名可修改)

2、Setup Thread Group--添加--配置元件--JDBC Connection Configuration

3、点击JDBC Connection Configuration,此项中的参数必须要配置,不能为空,否则会影响其它测试项目的使用

修改的配置:

Variable Name:Mariadb

Database URL:jdbc:mariadb://172.16.10.167:3306/caolei

JDBC Driver

class:org.mariadb.jdbc.Driver

Username:root

Password:******

几种常见数据库的driverClassName和url

Mairadb:

driverClassName: org.mariadb.jdbc.Driver

url: jdbc:mariadb://localhost:3306/test

DB2:

driverClassName:com.ibm.db2.jcc.DB2Driver

url:jdbc:db2://localhost:50000/sample

Oracle:

driverClassName:oracle.jdbc.driver.OracleDriver

url:jdbc:oracle:thin:@localhost:1521:orcl

MySql:

driverClassName:com.mysql.jdbc.Driver

url:jdbc:mysql://localhost:3306/test

4、Setup Thread Group--添加--Sampler--JDBC Request

Variable Name:Mariadb

插入一条查询语句

5、Setup Thread Group -右键或者点击编辑--添加--监听器--AggregateGraph

6、Setup Thread Group --右键或者点击编辑--添加--监听器--察看结果数

7、测试计划--下方的浏览(将下载的JDBC的jar包添加到这里,可添加多个)

点击启动,如果数据量大,需要等待停止键变灰,启动键变亮,右侧的时间停止,才能表明测试结束

时间右侧的警告图形,点击之后可以显示测试错误的详细信息

还可以设置断言、图形显示、表格显示等

Jmeter插件:

https://jmeter-plugins.org

目前只是可以进行简单测试,还有更多功能需要研究。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需...
    燕京博士阅读 4,162评论 0 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 互联网压力性能Badboy.Jmeterhttp://itopic.org/jmeter-http-tcp.htm...
    燕京博士阅读 2,886评论 0 20
  • 一、transition1、先看效果 2、transition其实就是一个过渡效果,例如 transition: ...
    Axiba阅读 564评论 0 0
  • 感恩淅淅沥沥的小雨一直下着,让我们一家有机会猫在一起,过节 感恩店铺的伙伴辛勤付出 感恩一早没下雨,让我可以到寺院...
    十八菩提子阅读 158评论 0 0