小白学JMeter:如何开始简单的WEB压力测试?

发表于:2018-1-26 11:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:LinJunF00lish    来源:简书

  背景
  最近工作上被安排针对Web网站进行性能压测,以评估特定的硬件配置下Web网站可支持的并发用户数。考虑到JMeter是流行的Web性能压测工具,因此趁着这次机会上网查阅了很多关于JMeter的资料,也自己动手进行软件的配置和调测,从最基本的发送HTTP请求,到参数化输入,分布式测试和最后的实时结果展示都折腾了一把。现将折腾过程进行整理,既作为自己日后参考,也可分享给有需要的人,少踩一些坑。
  在折腾的过程中,主要参考JMeter官网,上面有详细的手册和教程,同时也参考了其他一些博客和StackOverflow。重新整理的过程也是一个学习提高的过程,复习了相关的概念并找到了一些更易于理解的方法。
  接下来按照我做为初学者对性能压测的疑问,对整个过程进行梳理:
  ●如何开始简单的WEB压力测试
  ●发起第一个HTTP请求
  ●并发测试与参数化
  ●如何录制测试计划
  ●如何进行分布式压力测试
  ●如何实时展现测试结果
  每个问题都会辅以实际的例子进行解答,并将具体操作的步骤和结果截图记录下来。
  如何开始简单的WEB压力测试
  俗话说万事开头难,接下来我们以一个最简单的例子介绍如何从JMeter发起第一个HTTP请求。后续在这个例子上进行延伸,了解如何进行并发测试和参数化。
  发起第一个HTTP请求
  1. 安装JMeter
  建议从官网上下载最新版本,以便获得更多新功能。目前最新的版本是3.3,支持Java8。同时,官网上也有丰富的文档资源,包括用户手册,最佳实践,组件参考和教程等,值得花时间仔细阅读。
  2. 准备被测网站
  被测网站建议使用 PutsReq 。这个网站可以接受HTTP请求并且可以自定义返回结果,过程非常清晰,适合做为HTTP测试使用。
  在网站首页上点击 “Create a PutsReq" 蓝色按钮,网站会自动帮你创建一个URL,接下来就可以往这个路径发送HTTP请求。可以看到是如果普通的GET请求,则会返回"Hello World";如果是POST请求并带了name参数(假设name参数值为XYZ),则会返回 Hello XYZ
  putsreq01.png
  3. 在JMeter中配置测试计划
  首先在Test Plan中增加一个Thread Group。在JMeter中每个Thread相当于一个模拟用户,在Thread Group中进行进一步的配置可以定义模拟用户的行为,如发起各种请求等。
  jmeter01.png
  在本例中Thread Group创建后可以先不改参数,接着创建一个Sampler/HTTP Reqeust
  jmeter02.png
  并按下图所示填写相关的参数,包括协议,服务器名,请求类型和路径,让模拟用户发送HTTP GET Reqeust到被测网站。
  jmeter03.png
  最后增加一个Listener/View Results Tree,查看请求的结果。
  jmeter04.png
  如果一切正常,那这个请求应该返回一串字符”Hello World"
  4. 通过JMeter执行测试计划并查看结果
  配置完成后我们就可以通过JMeter执行刚刚配置好的测试计划,即发送一个HTTP GET Request到被测网站 PutsReq
  jmeter05
  在JMeter上查看请求结果,返回是一串字符 "Hello World"

  jmeter06

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号