Jmeter教程 简单的压力测试

news/2025/2/23 16:04:48

http://www.cnblogs.com/TankXiao/p/4059378.html


Jmeter是一个非常好用的压力测试工具。  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好。

 

阅读目录

  1. 什么是压力测试 
  2. 压力测试的常用工具
  3. 压力测试的步骤如下:
  4. 本文做压力测试的例子
  5. 第一步: 使用CSV Data Set Config 来参数化
  6. 第二步:添加HTTP Request.
  7. 第三步: 使用Thread Group, 控制模拟多少用户
  8. 第四步:  添加Summary Report 用来查看测试结果
  9. 第五步: 运行一下
  10. 下载源代码

 

什么是压力测试 

顾名思义:压力测试,就是  被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)

比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃

 

压力测试的常用工具

压力测试,一般要使用工具, 人工是没办法做的。   最常用的工具是LoadRunner, 但是LoadRunner毕竟是收费软件,而且使用上也比较复杂。 现在越来越多的人开始使用Jmeter来做压力测试。 免费, 而且使用上非常简单。

 

压力测试的步骤如下:

1. 写脚本 或者录制脚本

2. 使用用户自定义参数

3. 场景设计

4. 使用控制器,来控制 模拟多少用户。

5. 使用监听器, 查看测试结果

 

本文做压力测试的例子

本文举的实例是: 在一台电脑用Jmeter模拟200个用户,同时去使用bing搜索不同的关键字, 查看页面返回的时间是否在正常范围内。

 

 

第一步: 使用CSV Data Set Config 来参数化

首先我们把测试需要用到的2个参数放在txt文件中,

新建一个data.txt文件,输入些数据, 一行有两个数据,用逗号分隔。

 

启动Jmeter, 先添加一个Thread Group, 然后添加一个CSV Data Set Config (Add -> Config Element -> CSV Data Set Config)

 

第二步:添加HTTP Request.

我们添加http 请求,发送get 到 http://cn.bing.com/search?q=博客园+小坦克

选择Thread Group 右键 (Add ->Sampler -> HTTP Request),  需要填的数据如下:

 

 

第三步: 使用Thread Group, 控制模拟多少用户

选中Thread Group

 

Number of Threads(users):     一个用户占一个线程,  200个线程就是模拟200个用户

Ramp-Up Period(in seconds):   设置线程需要多长时间全部启动。如果线程数为200 ,准备时长为10 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。

Loop Count: 每个线程发送请求的次数。如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

 

第四步:  添加Summary Report 用来查看测试结果

选中Thread Group 右键(Add -> Listener -> Summary Report)

 

 

第五步: 运行一下

到目前为止, 脚本就全写好了, 我们来运行下, 如何看下测试的结果

下载源代码

 点击这里【小坦克】下载源代码,  要注意修改data.txt的路径

 

 

jmeter" style="word-wrap:break-word; font-family:'black Verdana',Arial,Helvetica,sans-serif; font-size:14px; line-height:21px">  

附: Jmeter教程 (连载中, 敬请期待)

Jmeter教程 入门教程

Jmeter教程 录制脚本

Jmeter教程 简单的压力测试


文章来源:https://blog.csdn.net/zhuiqiuk/article/details/56515840
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.niftyadmin.cn/n/1247283.html

相关文章

Kuangbin专题 简单搜索 - B - Dungeon Master

一开始没有用队列的&#xff0c;后来参考其他人的题解用队列又写了一遍&#xff0c;原来的版本就没有保存了… #include <cstdio> #include <queue> #include <algorithm> using namespace std; char map[35][35][35]; int wayz[10]{1,-1,0,0,0,0},lev,wayy…

jmeter学习资源

http://www.ltesting.net/ceshi/open/kyxncsgj/jmeter/ http://www.spasvo.com/ceshi/open/kyxncsgj/Jmeter/ http://www.cnblogs.com/TankXiao/p/4045439.html

LeetCode50天刷题计划第二季(Day 18 — 加油站 (17.20-23.00 )

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目加油站示例提示:二、思路三、代码前言 摆烂三天今天开始学习辣&#xff01; 一、题目 加油站 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加…

Kuangbin专题 - 简单搜索 -C - Catch That Cow

这是第一个AC版本,思路是逐层标记&#xff0c;这样就能保证步法是单调枚举下去的。需要注意的是&#xff0c;如果之前已经走过了&#xff0c;就相当于“串回去”了&#xff0c;这种枝需要剪掉&#xff0c;否则bfs是无穷无尽的。 #include <cstdio> #include <queue&g…

Android高级Renderscript---Andvanced Renderscript(一)

本文译自&#xff1a;http://developer.android.com/guide/topics/renderscript/advanced.html 因为利用Renderscript的应用程序依然运行在Android虚拟机&#xff08;VM&#xff09;内部&#xff0c;所以能够访问所有你熟悉的框架API&#xff0c;但也可在适当的时机利用Renders…

Kuangbin专题 - 简单搜索 - D - Fliptile

关灯问题需要注意的一点是&#xff1a;单调不能完成的任务是一定不能完成的&#xff0c;没有反复开关灯的操作…单调向下枚举… 这里我观察到了(i-1,j)点为1时是必须开一次灯的。 枚举第一行是否开灯即可&#xff08;因为没有作为是否参考的第零行&#xff09;。 很巧妙的是…

Android高级Renderscript---Andvanced Renderscript(二)

函数 函数被反射到位于project_root/gen/package/name/ScriptC_renderscript_filename的脚本类中。例如&#xff0c;如果在Renderscript代码中声明了以下函数&#xff1a; void touch(float x, float y, float pressure, int id) { if (id > 10) { return; } touchPos[id]…

LeetCode50天刷题计划第二季(Day 20 — 复制带随机指针的链表(12.00-12.30 )

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目复制带随机指针的链表示例提示二、思路三、代码前言 芜湖 学习第一天~ 一、题目 复制带随机指针的链表 给你一个长度为 n 的链表&#xff0c;每个节…