Jmeter教程 简单的压力测试
2016-06-24 18:39
337 查看
Jmeter是一个非常好用的压力测试工具。 Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好。
阅读目录
什么是压力测试
做压力测试的常用工具
做压力测试的步骤如下:
本文做压力测试的例子
第一步: 使用CSV Data Set Config 来参数化
第二步:添加HTTP Request.
第三步: 使用Thread Group, 控制模拟多少用户
第四步: 添加Summary Report 用来查看测试结果
第五步: 运行一下
下载源代码
比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃
2. 使用用户自定义参数
3. 场景设计
4. 使用控制器,来控制 模拟多少用户。
5. 使用监听器, 查看测试结果
新建一个data.txt文件,输入些数据, 一行有两个数据,用逗号分隔。
![](http://images.cnitblog.com/blog/263119/201411/141047519284898.png)
启动Jmeter, 先添加一个Thread Group, 然后添加一个CSV Data Set Config (Add -> Config Element -> CSV Data Set Config)
![](http://images.cnitblog.com/blog/263119/201411/141104249281866.png)
选择Thread Group 右键 (Add ->Sampler -> HTTP Request), 需要填的数据如下:
![](http://images.cnitblog.com/blog/263119/201411/141113156941219.png)
![](http://images.cnitblog.com/blog/263119/201411/141131564913695.png)
Number of Threads(users): 一个用户占一个线程, 200个线程就是模拟200个用户
Ramp-Up Period(in seconds): 设置线程需要多长时间全部启动。如果线程数为200 ,准备时长为10 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。
Loop Count: 每个线程发送请求的次数。如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。
阅读目录
什么是压力测试
做压力测试的常用工具
做压力测试的步骤如下:
本文做压力测试的例子
第一步: 使用CSV Data Set Config 来参数化
第二步:添加HTTP Request.
第三步: 使用Thread Group, 控制模拟多少用户
第四步: 添加Summary Report 用来查看测试结果
第五步: 运行一下
下载源代码
什么是压力测试
顾名思义:压力测试,就是 被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃
做压力测试的常用工具
做压力测试,一般要使用工具, 人工是没办法做的。 最常用的工具是LoadRunner, 但是LoadRunner毕竟是收费软件,而且使用上也比较复杂。 现在越来越多的人开始使用Jmeter来做压力测试。 免费, 而且使用上非常简单。做压力测试的步骤如下:
1. 写脚本 或者录制脚本2. 使用用户自定义参数
3. 场景设计
4. 使用控制器,来控制 模拟多少用户。
5. 使用监听器, 查看测试结果
本文做压力测试的例子
本文举的实例是: 在一台电脑用Jmeter模拟200个用户,同时去使用bing搜索不同的关键字, 查看页面返回的时间是否在正常范围内。第一步: 使用CSV Data Set Config 来参数化
首先我们把测试需要用到的2个参数放在txt文件中,新建一个data.txt文件,输入些数据, 一行有两个数据,用逗号分隔。
![](http://images.cnitblog.com/blog/263119/201411/141047519284898.png)
启动Jmeter, 先添加一个Thread Group, 然后添加一个CSV Data Set Config (Add -> Config Element -> CSV Data Set Config)
![](http://images.cnitblog.com/blog/263119/201411/141104249281866.png)
第二步:添加HTTP Request.
我们添加http 请求,发送get 到 http://cn.bing.com/search?q=博客园+小坦克选择Thread Group 右键 (Add ->Sampler -> HTTP Request), 需要填的数据如下:
![](http://images.cnitblog.com/blog/263119/201411/141113156941219.png)
第三步: 使用Thread Group, 控制模拟多少用户
选中Thread Group![](http://images.cnitblog.com/blog/263119/201411/141131564913695.png)
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)第五步: 运行一下
到目前为止, 脚本就全写好了, 我们来运行下, 如何看下测试的结果![](http://images.cnitblog.com/blog/263119/201411/141132139283221.png)
相关文章推荐
- sqlite多进程并发读写模式下,返回SQLITE_BUSY错误的处理方法
- matlab之any()、imshow()、image()、imagesc()、取整函数fix, floor, ceil,round
- ArrayList的使用方法【转载】
- 压力测试工具JMeter入门教程
- spring定时任务配置、使用说明(简单、全)
- 几个ip查询接口
- Git简介
- ECMAScript 6
- 股票数据自动入库hive到oracle
- Android之RecyclerView的使用总结
- 链表的交点问题
- Android测试提升效率批处理脚本(三)
- 6 rotate-image
- 原型模式(Prototype)
- android 更换时区时间同步
- 剑指offer-面试1:赋值运算符函数(C++ operator重构)
- C++ STL 文件读取和容器(转载自http://blog.sina.com.cn/s/blog_735f29100102uwwd.html)
- iOS之SDWebimage下载图片链接带中文处理
- Setting up CocoaPods master repo 卡着不动
- 将PHP的session数据存储到数据库中的代码实例