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插件:

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