使用 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/
使用 apache-jmeter 完成WEB压力测试_第1张图片
点击Download Releases 进入下载页面
使用 apache-jmeter 完成WEB压力测试_第2张图片
本文使用的版本为: apache-jmeter-2.13

测试计划

使用 apache-jmeter 完成WEB压力测试_第3张图片

创建测试计划

使用 apache-jmeter 完成WEB压力测试_第4张图片

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

![这里写图片描述](https://img-blog.csdn.net/20150912023542522
使用 apache-jmeter 完成WEB压力测试_第5张图片
使用 apache-jmeter 完成WEB压力测试_第6张图片

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

在线程组中创建一个请求

选择“线程组”右键创建一个HTTP请求,如图设置:
使用 apache-jmeter 完成WEB压力测试_第7张图片

HTTP请求详细参数设置

使用 apache-jmeter 完成WEB压力测试_第8张图片

这里详细解释一下 :

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 ,而且对类型要求为数字。

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

使用 apache-jmeter 完成WEB压力测试_第9张图片
然后点击启动按钮执行一次请求
这里写图片描述
然后我们可以点击一下 “结果树”
使用 apache-jmeter 完成WEB压力测试_第10张图片
使用 apache-jmeter 完成WEB压力测试_第11张图片

使用线程组实现并发操作

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

点击线程组
使用 apache-jmeter 完成WEB压力测试_第12张图片

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

使用 apache-jmeter 完成WEB压力测试_第13张图片

测试都是需要结果的,我们需要再添加几个监听器,用于产生最终的性能测试报告
使用 apache-jmeter 完成WEB压力测试_第14张图片

点击线程组,启动测试

使用 apache-jmeter 完成WEB压力测试_第15张图片

使用监视器记录测试结果

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

使用 apache-jmeter 完成WEB压力测试_第16张图片
表格模式可以查看所有请求的详细响应状态
使用 apache-jmeter 完成WEB压力测试_第17张图片

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

使用 apache-jmeter 完成WEB压力测试_第18张图片

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

结果分析

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

总结

累死宝宝了!睡觉

你可能感兴趣的:(WEB,性能测试)