jmeter压测网站

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter压测网站相关的知识,希望对你有一定的参考价值。

1.Jmeter介绍

Jmeter是apache组织开发的基于java的压力测试工具。

Jmeter可以用于对服务器、网络活对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性能。另外,jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,jmeter允许使用正则表达式创建断言。

2.Jmeter工作原理

image001

3.Jmeter安装

实验环境:
系统:centos6.6 64位
Java:1.8.0_65
Jmeter:3.0
(1)安装java
tar xf jdk-8u65-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -s jdk1.8.0_65/ jdk
echo "JAVA_HOME=/usr/local/jdk" > /etc/profile.d/java.sh
echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile.d/java.sh
source /etc/profile.d/java.sh
java -version
(2)安装jmeter
wget http://apache.fayea.com//jmeter/binaries/apache-jmeter-3.0.tgz
tar xf apache-jmeter-3.0.tgz -C /usr/local/
cd /usr/local/
ln -s apache-jmeter-3.0/ jmeter
(3)运行jmeter,需要你的远程工具支持打开图形界面,我这里使用xmanager
/usr/local/jmeter/bin/jmeter
Jmeter打开后页面如下所示:

技术分享图片
补充:如果是Windows平台运行jmeter,也是需要配置java环境,然后下载jmeter,解压之后,运行jmeter安装目录下的bin/jmeter.bat即可,通常也有很大一部分人在Windows上面配置jmeter做控制器,linux做压力机。

4.jmeter压测网站

测试步骤:
(1)测试计划
(2)线程组
(3)http请求
(4)监听器
(5)运行脚本
(6)查看报告
1、整个测试都是以测试计划为基础,基于测试计划进行的测试,比如线程组和http请求都是在测试计划的基础上创建的。
技术分享图片
2、添加一个线程组
技术分享图片
线程数:也就是开启多少线程进行测试
Ramp up period:设置的虚拟用户数需要多长时间全部启动。如果线程数为20,时间为10,也就是每秒钟启动2个线程。
循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为100,那个每个线程发送100次请求。总请求数为20*100=2000。如果勾选了“永远”,那么所有线程会一直发送请求,一直选择停止运行脚本。
调度器:可以更灵活的设置运行时间等,必须设置持续压测一个小时,或者压测一天。
技术分享图片
3、在线程组里面添加一个http请求

技术分享图片

技术分享图片
Http请求设置-保持默认即可:
名称:本属性用于标识一个取样器,建议使用一个有意义的名称
注释:对于测试没有任何作用,仅用户记录可读的注释信息
服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址。
端口号:目标服务器的端口号,默认值80.后面的超时定义可以不用填写。
协议:向目标服务器发送http请求时的协议,可以是http或者是https,默认值为http
方法:发送http请求的方法,可用方法包括get、post、head、put、options、trace、delete等。
Content encoding:内容编码方式
路径:目标url路径(不包括服务器地址和端口)
自动重定向:如果选中该选项,当发送http请求后得到的响应是302/301时,jmeter自动重定向到新的页面。
Use keep Alive:当该选项被选中时,jmeter和目标服务器之间使用keep-Alive方式进行http通信,默认选中
Use multipart/from-data for http post:当发送http post请求时,使用Use multipart/from-data方法发送,默认不选中。
同请求一起发送参数:在请求中发送URL参数,对于带参数的URL、jmeter提供了一个简单的对参数化的方法。用户可以将url中所有参数设置在本表中,表中的每一行是一个参数值对(对应URL中的名称 名称1=值1 )
同请求一起发送文件:在请求中发送文件,通常,http文件上传行为可以通过这种方式模拟。
4、添加监听器
查看结果树和聚合报告

技术分享图片

5、运行测试:我们的测试计划都设置没有问题之后,点击测试运行按钮就可以开始测试了

技术分享图片
6、查看测试结果
结果树:这里可以查看每个请求的成功还有失败,还有响应的数据

技术分享图片
聚合报告:主要是查看请求的响应时间,错误率,每秒并发等
技术分享图片
参数说明:单位为毫秒
Label:定义HTTP请求名称
Samples:表示这次测试中发出了多少个请求
Average:平均响应时长——默认情况下是单个request的平均响应时长
Median:中位数,也就是50%用户的响应时长
90% Line:90%用户的响应时长
Min:访问页面的最小响应时长
Max:访问页面的最大响应时长
Error%:错误请求的数量/请求的总数
Throughput:默认情况下表示每秒完成的请求数(request per second)
KB/Sec:每秒从服务器端接收到的数据量

以上是关于jmeter压测网站的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter基础 Linux上运行Jmeter

jmeter压测学习48- BadBoy录制web网站登录页面脚本

jmeter压测学习6-HTTP Cookie管理器

基于Docker的JMeter分布式压测

基于Docker的JMeter分布式压测

基于Docker的JMeter分布式压测