使用 apache-jmeter 完成WEB压力测试

使用 apache-jmeter 完成WEB性能测试(入门篇)

jmeter 是学习成本比较低的一种测试工具,相对于繁重的loadrunner 脚本较为简单,在日常开发过程中,当我们需要检查自编写组件性能时,jmeter 是个不错的选择。
本人并非专业测试人员,而是一个菜鸟小开发,如果有任何问题,或者建议可以给我留言

  • apache-jmeter 简介
  • 获取 apache-jmeter
  • 测试计划
  • 创建一个请求(GET or POST)
  • 使用线程组实现并发操作
  • 使用监视器记录测试结果
  • 结果分析
  • 总结

apache-jmeter 简介

Apache
JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。
它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter
可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java
对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络
或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。(转自百度百科)

获取 apache-jmeter

jmeter官方地址 http://jmeter.apache.org/
这里写图片描述
点击Download Releases 进入下载页面
这里写图片描述
本文使用的版本为: apache-jmeter-2.13

测试计划

这里写图片描述

创建测试计划

这里写图片描述

保存测试计划,便于下次再次编辑

![这里写图片描述](https://img-blog.csdn.net/20150912023542522
这里写图片描述
这里写图片描述

关于线程组的参数设置,我们下面会在“使用线程组实现并发操作”栏目详细介绍。

在线程组中创建一个请求

选择“线程组”右键创建一个HTTP请求,如图设置:
这里写图片描述

HTTP请求详细参数设置

这里写图片描述

这里详细解释一下 :

http://127.0.0.1:8080/Server.do?ErrToJson=true&uuid=512dc383-7043-4fd2-8ecd-7606dd4b677b
以上的URL是我后台服务的访问地址 ,127.0.0.1 为我本机地址,对应上图web服务器栏目中的参数,路径则为
“/Server.do?ErrToJson=true&uuid=512dc383-7043-4fd2-8ecd-7606dd4b677b“,我后台所需的test1参数对应赋值为
1 ,而且对类型要求为数字。

接下来我们添加一个监视器来观察我们调用是否成功?

这里写图片描述
然后点击启动按钮执行一次请求
这里写图片描述
然后我们可以点击一下 “结果树”
这里写图片描述
这里写图片描述

使用线程组实现并发操作

保证我们服务调用正常后,我们接下来可以跑性能

点击线程组
这里写图片描述

我这里就不选择开始时间和结束时间了,我设置线程永远执行下去

这里写图片描述

测试都是需要结果的,我们需要再添加几个监听器,用于产生最终的性能测试报告
这里写图片描述

点击线程组,启动测试

这里写图片描述

使用监视器记录测试结果

我们看一下这几个测试监视器反馈的结果:

这里写图片描述
表格模式可以查看所有请求的详细响应状态
这里写图片描述

聚合报告可以查看到服务请求响应的最大时间和最小时间,以及成功率和失败率。
如果一个服务的失败率很高,证明服务存在低性能代码块,当然通过率也结合具体的业务场景,不是所有的服务都需要较高的通过率

这里写图片描述

图形结果可以形象的看出请求的具体状态,偏离为失败!

结果分析

工具只是检测质量的一个标准,而具体的性能要求,要根据具体的业务场景而定,本人仅仅是菜鸟开发,如果上述有理解不到位的地方,请各位测试大神指正!

总结

累死宝宝了!睡觉

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章