简年10:JMeter压力测试集合

2017-01-29  本文已影响728人  jerry_mei

今天闲来无事整理了一下之前JMeter测试的相关的文档

一、基本测试


Jmeter环境安装

1.JDK下载:
2.Jmeter下载:
3.环境变量配置:

http请求测试

1.启动jmeter

jmeter无需安装,解压后在apache-jmeter-3.0\bin目录下有个jmeter.bat文件,双击执行

2.建立测试Sampler

1)建立线程组
右键测试计划,添加Threads—>线程组

image_1av868ukubhq1mkuto81m021h0813.png-27.8kBimage_1av868ukubhq1mkuto81m021h0813.png-27.8kB
这里设置线程数为100个模拟100个用户;
Ramp-Up Period为10s,在10s内建立全部的线程;
循环测试为10,每个线程重复执行10遍
具体参数说明:关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

2)添加http请求
右键线程组,添加Sampler->HTTP请求

image_1av86u0bl1oji1iths67nfp1n3i1g.png-33kBimage_1av86u0bl1oji1iths67nfp1n3i1g.png-33kB
设置好web服务器的名称,端口号,协议,方法,字符编码,路径
如果只对一个页面进行压力测试,路径填该页面的路径即可,比如:测https://www.leangoo.com/blog.html,路径填写/blog.html
如果测多个链接,可以将链接保存到一个文本文件中,然后随机读取,具体操作:
/blog.html
/event.html
/11664.html
/leangoo_app.html
/leangoo_guide/leangoo_guide_login.html

3)运行查看运行结果
右键线程组,添加监听器,一般我们观察Summary Report查看结果树用表格查看结果
点击启动按钮,即可观察测试的结果

二、脚本测试

BadBoy录制操作脚本

1.BadBoy下载:

2.脚本录制

image_1av88rqn3tr6kforum1rne8rm9.png-80.6kBimage_1av88rqn3tr6kforum1rne8rm9.png-80.6kB
在地址栏输入网站地址,完成一系列的用户操作,点击停止按钮即完成脚本的录制
点击File->Export to JMeter,保存脚本为JMeter可读取的格式

JMeter测试脚本

image_1av8947pf171517v3dnd14uihe6m.png-134.7kBimage_1av8947pf171517v3dnd14uihe6m.png-134.7kB

在JMeter中打开该脚本,可以看到该脚本被保存为一个测试案例,里面一些参数需要做参数化处理,比如登录的用户名和密码,具体操作:

三、WebSocket测试

安装JMeter WebSocketSampler

由于JMeter里没有针对WebSocket的Sampler,所以就需要安装开源的插件,以使其支持WebSocket协议。

建立WebSocketSampler

image_1av8alhb247t108e14ot13j41teu9.png-38.9kBimage_1av8alhb247t108e14ot13j41teu9.png-38.9kB
同之前一样,首先建立一个线程组,然后添加一个WebSocketSampler,设置相关参数
注意:Streaming Connection – 选择这个TCP session要不要保持,如果勾上标识连接会一直存在,如果没有勾上,那么得到第一次响应后该链接就会被关闭。
Request data:填入将要发送的请求,这里填的是[5,${__counter(false,num)}]用了一个计数器,使每个线程每次发送的数据都不一样,保证每个websocket连接都是新开的

分布式测试

Jmeter 是java 应用,对于CPU和内存的消耗比较大,单台机器模拟数以千计的并发用户量,会引起JAVA内存溢出错误。所以JMeter支持多台机器分布式测试。操作步骤:

找到remote_hosts将agent的ip地址都填上
remote_hosts=192.168.0.121,192.168.0.106

上一篇 下一篇

猜你喜欢

热点阅读