初学Jmeter,以下是我常用的功能,总结一下。

1、Thread Group线程组

线程组,即:虚拟用户组

名称:随意起啦,自己喜欢就好。

线程数:设置虚拟用户数。

Ramp-Up Period(in seconds):设置时间,即:在此段时间内创建出你所设置的所有虚拟用户数。

循环次数:1个线程跑多少次测试。(若勾选“永远”,则会一直循环下去)

调度器(Scheduler):配置启动时间。

持续时间:设置此次测试跑多久。

启动延迟:延迟X秒后,启动测试。

启动时间-结束时间:设置此次测试在固定的时间段内跑起。

2、Synchronizing Timer(并发)

(因Jmeter按树状结构执行,故通常将并发放置于请求之前)

Number of Simulated Users to Group by:模拟多个线程(用户)在同一时刻向服务器发出请求。(又称集合点、同步点)

(若置0:则等同于设置所有线程同时并发。)

Timeout in milliseconds:等待时间(毫秒),即:若此时的线程数还不到并发数,等待X毫秒后(不管此时的线程数是否达到并发数值),释放剩余的线程。

(若置0且线程数无法达到并发数值,则Timer就会无限等待下去,除非手动终止)

注:设置的并发数不应大于此次线程中包含的用户数

3、Http Request(请求)

搞一哈博客的压测

→_→

http://www.cnblogs.com/bigshan-1/

服务器名称或IP:服务器地址

端口号:

协议:http

方法:GET(主要是你所测的网页采取什么方法,你就用什么方法。不知道就F12看一哈)

路径:地址中域名后的部分

Parameters参数:key-value成对的参数值

Body Data:①直接填入数据;②或者从文本中读取,则格式:${     }花括号中填写变量名→变量即为你从文本中读取的数据,给其新定义一个名字

4、CSV Data Set Config

  利用Jmeter的http请求的时候,如果我们要添加不同的数据,而每一条数据都不一致,我们将每一天数据作为一个测试用例,则我们可能需要为每个测试用例建立一个http请求,十分麻烦,比如,就登录来说,有用户,密码,每个用户的用户名,密码都不一致,如果我们要建立多个用户登录的请求,每个用户使用不同的用户名和密码,我们可能要将每个用户名单独作为一个http请求,这样十分不方便。 

  我们是否可以将所有的用户名和密码写入一个文件,然后将http请求中的用户名和密码参数化,读取写有用户名和密码的文件呢? 

  利用Jmeter的CSV Data Set Config,可以实现这个功能,具体如下: 
①新建一个文本文件,里面保存要登录的用户名,密码,文件内容如下: 

admin,123

manager,456

test,test 
注:这里用英文逗号为分隔符,也可以用其他为分隔符,在CSV Data Set Config中可以设置。

Filename:csv文件的名称(包括绝对路径),如下图就是指放在桌面上的test2.txt文件

Variable Names(comma-delinited):这个就是给从csv文件中读取的变量定义一个名字。

(如:有几个参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符在下面的“Delimitet”中定义,为了和文件中的“,”对于,这里也用“,”分割每个参数名,(比如:use,password)

(用于Body Data中)如:

Delimiter(use '\t' for tab):分隔符,csv文件中的分割符,默认状态是逗号,下图则是定义了“$$$”为test2.txt文件中的分割符。

(此举就是为了区分数据内部存在与分割符一致的元素时造成的混淆)

Recycle on EOF:是否循环读入,因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入 。

 5、Aggregate Report(聚合报告)

线程组、并发等都配置完成后,将测试跑起来,点击绿色的那个。

运行结果如下表:

Label:此次请求的名称

#Samples:表示你这次测试中一共发出的请求数。若模拟了200个用户,循环10次,则此为200*10=2000

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

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

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

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

Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec