JMeter测试工具介绍和使用

1、  JMeter工具作用

1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。

2.完全的可移植性和100% 纯java。

3.完全多线程 框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。

4.缓存和离线分析/回放测试结果。


2、  JMeter下载地址

http://jmeter.apache.org/download_jmeter.cgi

 JMeter最新版本需要jdk7.0以上的版本

3、  JMeter配置环境

JMETER_HOME

D:\apache-jmeter-3.1\apache-jmeter-3.1

 

JAVA_HOME

C:\Program Files\Java\jdk1.7.0_67

 

CLASSPATH

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.;%SCALA_HOME%\bin;%SCALA_HOME%\lib\dt.jar;%SCALA_HOME%\lib\tools.jar;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;

4、  JMete实际运用



D:\apache-jmeter-3.1\apache-jmeter-3.1\bin

下面运行jmeter.bat可以启动JMeter


测试计划添加线程组


线程组:测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。可以在“Test Plan(鼠标右击) -> 添加  ->Threads(Users) -> 线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。



线程组可以添加不同的测试任务

这里面添加的http请求



取样器(Sampler)的具体配置


ps:这里面有些参数说明一下

这个是HTTP post方式请求方式

编码格式要设置为UTF-8,否则中文会导致数据库乱码




然后点击上面的绿色箭头启动

查看执行的结果用下图的操作


ps:可以有多种方式显示结果

常用的是用表格形式和聚合报告



属性说明:

Sample:每个请求的序号

Start Time:每个请求开始时间

Thread Name:每个线程的名称

Label:Http请求名称

Sample Time:每个请求所花时间,单位毫秒

Status:请求状态,如果为勾则表示成功,如果为叉表示失败。

Bytes:请求的字节数

样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数

平均:每个线程请求的平均时间

最新样本:表示服务器响应最后一个请求的时间

偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。


聚合报告如下图:



Label:每个JMeter的element的Name值。例如HTTP Request的Name

#Samples:样本数量。多少个请求

Average:平均响应时间(单位:)。默认是单个Request的平均响应时间,当使用了TransactionController时,也可以以Transaction为单位显示平均响应时间

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

90%Line:90%用户的响应时间

95%Line:95%用户的响应时间

99%Line:99%用户的响应时间

注:为什么要有*%用户响应时间?因为在评估一次测试的结果时,仅仅有平均事物响应时间是不够的。假如有一次测试,总共有100个请求被响应,其中最小响应时间为0.02秒,最大响应时间为110秒,平均事务响应时间为4.7秒,你会不会想到最小和最大响应时间如此大的偏差是否会导致平均值本身并不可信?

我们可以在95 th之后继续添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,并利用Excel的图表功能画一条曲线,来更加清晰表现出系统响应时间的分布情况。这时候你也许会发现,那个最大值的出现几率只不过是千分之一甚至万分之一,而且99%的用户请求的响应时间都是在性能需求所定义的范围之内的;如下图则是最低响应时间的值出现几率是很小的,实际99%的用户请求响应时间都要20000+。

Min:最小响应时间

Max:最大响应时间

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

Throughput:吞吐量。默认情况下标示每秒完成的请求数(具体单位如下图)

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
















评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值