Apache Jmeter3.0 HTTP压力测试之小试牛刀
  

老眼 17525

{{ttag.title}}

1.jmeter简介

某公司 JMeter是某公司组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域,是压力测试的首选的免费开源的软件。

说到这里不得不说起另外一款web压力测试工具loadrunner,loadrunner是一款商业性质的压力测试工具自定义测试方面相比Jmeter差了很多,Jmeter是一款轻量型的,对日常的压力测试工作Jmeter完全可以胜任。


2.jmeter功能

它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等


3.工具地址:

http://jmeter.apache.org/

该工具无需安装,解压后到bin目录中运行某公司JMeter.jar即可(前提是你自己的电脑已提前安装了JAVA环境,要求jvm7.0及以上的版本)

运行后,jmeter会根据你自己系统的语言自动识别语言格式,如果需要修改为 英文,直接--选项---选择语言---英语 就行了


4.使用jmeter进行一次web压力测试

(1)第一步需要添加一个线程组


(2)修改新添加的线程组(用户)

线程组告诉Jmeter要模拟用户的数量(线程数)、每个用户开始的延时是多少(例如,如果你进入一个上升周期5秒,JMeter会完成启动你的所有用户通过5秒结束。所以,如果我们有5用户和5秒的上升时间,那么用户之间的延迟会是1秒(5用户/ 5秒= 1用户/秒)。如果将值设置为0,那么JMeter会立即开始你的所有用户)、用户访问循环的次数


(3)现在有了线程组(用户),就要添加用户要执行的任务了。在线程组中右击---选择“添加”---配置元件----HTTP请求默认值(http request defaults)

修改HTTP请求默认值,所有的HTTP请求将被发送到该相同的Web服务器,我们定义请求服务器为:www.lybbn.cn

注意:

HTTP请求默认元素不告诉JMeter发送HTTP请求。它只是定义了一个默认值,后面的【HTTP请求的元素】会调用它


(4)如果想要使线程组中的每个用户都有自己的cookie的话,还需要添加 HTTP COOKIE管理器

添加HTTP cookie管理器,只需选择线程组,并选择添加→配置元素→HTTP Cookie管理器

只需要添加该HTTP cookie 管理器就行了,可不配置其他


(5)接下来添加(HTTP请求)HTTP Requests,你就可以来定义真正要测试的页面是哪些了

这里我们以

http://www.lybbn.cn

http://www.lybbn.cn/data/datas.php?yw=8

两个链接为例(需要添加两个HTTP请求)

右击线程组----选择“Sampler”---选择 "HTTP 请求(HTTP Request)"


HTTP 请求中,设置"路径"填写 ”/“ (表示请求http://www.lybbn.cn首页),服务器名称或IP不用填写,因为你在HTTP 默认请求值中已经写过了


接下来我们添加第二个HTTP请求,设置“路径” 填写 “/data/datas.php”,服务器名称或IP同样不用填写。但是因为我们测试的是带有参数的

动态网址,需要添加参数:在Parameters中添加我们的?号之后的参数即可yw=8  ,如果为静态页面直接在路径中填写该静态页面即可,不需要额外添加参数


(6)其实现在我们就可以发送压力测试了,但是我们还希望监控发送压力测试的监视器,怎么办

接下来我们还需要

右击线程组---选择“监听器”-----图形结果(Graph Results)


结果如下:


接下来就可以发动压力测试了


压力测试结果:


图形结果展示解释:

样本数目----总共发送到服务器的请求数

最新样本----代表的是时间毫秒,是服务器响应最后一个请求的时间

吞吐量----服务器每分钟处理的请求数

平均----总运行时间除以发送到服务器的请求数

中值----代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值

偏离----服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布(偏离值越小代表你服务器越稳定)


当然你还可以添加其他的监听器来展示你压力测试所得到的结果,常见的监听器还有“察看结果树”、“聚合报告”

右击线程组---添加---监听器---“察看结果树” 和 “聚合报告”

上图为“察看结果树”从中你可以看到具体请求的HTTP header 和服务器响应的数据



上图为“聚合报告”,具体表格参数解释:

Label----请求类型,对应在测试计划下填写的请求名称

Samples----当前发送到服务器的请求总数

Average----平均响应时间,计算方法是总运行时间除以发送到服务器的总请求数

Median----中值,也就是50%用户的响应时间

90%line----90%用户请求的响应时间值

Min----服务器响应的最短时间

Max---- 服务器响应的最长时间

Error%----请求返回错误的百分比

Throughput----服务器每单位时间处理的请求数,对应图形报表中的吞吐量

KB/sec---- 每秒钟请求的字节数


(7)jmeter不会自动保存你的测试计划的,需要你手动的保存,这样下次在测试时你只需要重新打开它,然后修改你的参数即可


5.结束语

jmeter还有很多功能,上面介绍的只是其中的一个功能罢了,比如HTTPS测试、HTTP用户登录测试等等。Jmeter在我们日常IT工作过程中是个不错的工具,它可以帮助我们测试某公司AD负载均衡时的服务器负载的功能测试,也可以帮我们完成日常工作中网站的压力测试。甚至可以成为一款DOS攻击的工具,如针对某一个发动无数连接的请求。还没有对自己的网站做dos防护的童鞋们赶紧行动起来吧,或许某个人之前就用过这款工具对你的网站发动过DOS攻击。

Ok,关于jmeter我们先讲到这里,后续我会接着分享

转载来源:www.lybbn.cn

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

cqbuyan 发表于 2016-5-21 11:41
  
挺不错的一个工具!
北回归线 发表于 2016-5-21 12:29
  
好东西
新手350724 发表于 2019-5-9 10:16
  
吃瓜群众来围观一下
剰悇の迗眞 发表于 2019-5-15 08:52
  
围观围观
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
每周精选
干货满满
技术咨询
信服课堂视频
秒懂零信任
自助服务平台操作指引
新版本体验
标准化排查
产品连连看
安装部署配置
功能体验
GIF动图学习
玩转零信任
2023技术争霸赛专题
技术晨报
安全攻防
每日一记
深信服技术支持平台
天逸直播
华北区交付直播
社区帮助指南
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
通用技术
卧龙计划
华北区拉练
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人