Apache Jmeter3.0 HTTP压力测试

来源:互联网 发布:流氓推广软件是什么 编辑:程序博客网 时间:2024/05/01 09:27

1.jmeter简介

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

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


2.jmeter功能

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


3.工具地址:

http://jmeter.apache.org/

该工具无需安装,解压后到bin目录中运行ApacheJMeter.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



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 公司注销了账户怎么办 租户不变更地址怎么办 营业执照忘审了怎么办 工商营业执照年检过期怎么办 个体营业执照没有年报怎么办? 个体工商户一年没有申报怎么办 个体工商户逾期未申报怎么办 个体户没报税过怎么办 农业银行证书过期了怎么办 ca证书丢了怎么办 ca证书被锁怎么办 上个月忘记清卡怎么办 财务人员进入税务黑名单怎么办 社保本丢了怎么办 贷款车辆登记证书怎么办 发票薄丢了怎么办? 汽车发票丢了怎么办 税票弄丢了怎么办 交强险正本丢了怎么办 个体营业执照正本丢失怎么办 简易注销后税务怎么办 拒绝了日历邀请怎么办 老人走丢了怎么办 老人走丢找不到怎么办 没人给介绍对象怎么办 bate365账号被锁怎么办 qq号疑似被盗怎么办 不知道音乐名字怎么办 忘记支付宝登录怎么办 微信被老婆拉黑怎么办 微信群昵称改不了怎么办 微信号设置不了怎么办 修改微信号点不开怎么办 多屏设置失败怎么办 icould密码忘了怎么办 微信号换不了怎么办 微信号改不了怎么办? 无法设置微信号怎么办 公司改名后商标怎么办 公司名称变更后发票怎么办 被起诉公司企业变更怎么办