性能测试-Jmeter
缘由
很多情况下我们写程序过程中只会对固定模块采取并发限制,而且asp.net对于多线程也有他自己的处理机制,尤其对于注重业务,结果导向的团队可能更注重一定时间节点给出满意的产品,但是你的模块到底是否健壮,你心理有谱吗? 大声的告诉我 are you sure? 下面我们通过一个工具来窥探一下.He is Jmeter!
(最后的测试发现博客园的访问有些问题,具体希望广大园友给予指点)
基本简介
环境准备
(1)Jmeter是建立在java环境下的,所以你的机器需要安装java环境,我像java组的同事要了一个简要的安装包,安装之后需要配置下环境变量.
(2)Jmeter安装包 http://jmeter.apache.org/
因为博客园对上传文件有大小限制,所以...
java环境:下载地址
Jmeter: 下载地址
基本概念了解
测试计划
线程组
测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。
逻辑控制单元
多种不同的实现,可以决定每个sample的执行顺序。
采样器
可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。
定时器
定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。
断言
对取样器返回的请求结果给出判断,是否正确。
配置元件
配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)
监听器
它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
Getting Started
下面我们通过例子来体会一下Jmeter
测试地址:http://www.cnblogs.com/mongo/p/4623560.html
场景:模拟用户并发请求查看网站负载等参数
(1)运行Jmeter,在安装好JAVA环境的前提下,打开Jmeter安装目录,运行\apache-jmeter-2.13\bin\jmeter.bat

(2)添加线程组


说明:
线程数:我们配置开启了500个线程
Ramp-up Period:设置为0表示在0秒内500线程同时启动完毕
循环次数:总体执行一次
(3)设置控制器

这里我们设置循环控制器,每个线程循环5次Sampler操作
(4)设置采样器Sampler
我们这里用一个博客园的文章地址做测试,简单的请求页面


(5)添加监听listener
为了更好的看到我们的测试结果,需要合适的图形化展示,这里我们添加图形结果和观察结果树


(6)运行结果
(6.1)summary report

请求数量 2500
平均响应时间1185
吞吐量:175.8/s
(6.2)图形结果

(6.3)观察结果树
这里貌似存在一个问题,我访问博客园指定的页面,前几次请求可以,然后请求一直是time out 状态,过一段时间 请求又可以了,目前有2个猜想
(1)博客园做了限制,某一个地址频繁发送请求会限制一段时间?
(2)但是明显开始请求成功次数和一段时间后请求次数有明显的不同,难道真的程序有问题?
这只是猜想,具体大家也可以考虑考虑 交流指导,这篇文章主要让大家能方便测试某一个部分的负载,介绍了Jmeter的基本使用方式,以便大家对自己的模块有一个量化的认识,在写程序的时候也会多一些思考。
性能测试-Jmeter的更多相关文章
- 使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
http://www.jmeter.cf/loadtesting-jmeter.html 为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以 ...
- 性能测试—JMeter 常用元件(二)
性能测试—JMeter 常用元件(二) <零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完 ...
- 接口性能测试--JMeter
1.JMeter Java Sampler介绍 setupTest做些初始化的工作,每个线程只执行一次 teardownTest做些清理工作,每个线程只执行一次 1.JMeter Java Sampl ...
- 性能测试Jmeter压测ZooKeeper-自定义java请求
要想通过自定义java请求来压测ZooKeeper,那么我们就需要做两件事情,第一我们需要知道java如何操作ZooKeeper,第二就是怎么能将我们写的jar包让jmeter识别,首先我们先来干第 ...
- 性能测试—JMeter 常用元件(四)
<零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完整的测试计划包含一个或多个线程组.逻辑控 ...
- Meter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第1部分
目标: 创建包含性能测试流程的持续交付管道, 以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分 ...
- JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分
目标: 创建包含性能测试流程的持续交付管道,以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段 ...
- 性能测试--Jmeter随机生成/随机选取/csv读取关键字
Jmeter随机生成/随机选取/csv读取关键字 一.随机生成关键字 随机生成关键字,需要组件:随机变量配置元件(Random Variable) 该组件的作用是生成字符+随机数字格式的字符串,并保 ...
- 性能测试--Jmeter录制、回放
Jmeter录制.回放 在jmeter2.1版本之前,jmeter应该是不支持录制和回放功能的,那时候如果需要录制jmeter的性能测试脚本的话,就需要使用第三方工具——badboy.现在jmeter ...
随机推荐
- 《Linux/Unix系统编程手册》读书笔记 目录
<Linux/Unix系统编程手册>读书笔记1 (创建于4月3日,最后更新4月7日) <Linux/Unix系统编程手册>读书笔记2 (创建于4月9日,最后更新4月10日) ...
- Oracle —— 表结构相关的SQL
1.表基本信息(Table) select * from user_tables t, user_tab_comments c where c.table_name = t.table_name an ...
- 标准类型内建函数 str()和 repr() (及 `` 运算符) 简单介绍
内建函数 str() 和 repr() 或反引号运算符(``) 可以方便的以字符串的方式获取对象的内容.类型.数值属性等信息.str()函数得到的字符串可读性好, 而repr()函数得到的字符串通常可 ...
- 19.allegro过孔设置[原创]
一.根据线宽设置过孔 在规则管理器下 --- --- ---- --- --- 二.设置原点 法1: -- -- 法二: 然后鼠标点选 ---option栏目在哪? --- 三:过孔问题1 当一个过孔 ...
- Java中什么时候使用构造方法
JAVA是面向对象的语言,面向对象不是这么直接简单,它的设计思想就是要代码重用.即我以前干过类似的事,那么我找出以前可以用到的代码,完成一部分.以前没有的我重新写.这样就有了类.有了类,就是有了可以重 ...
- Linux Java 环境变量设置
对整个机器:所有用户 1,在/etc/profile 文件末尾加入 export JAVA_HOME=/var/opt/jdk1.7.0_04 export PATH=$JAVA_HOME/bin:$ ...
- 线段树总结 (转载 里面有扫描线类 还有NotOnlySuccess线段树大神的地址)
转载自:http://blog.csdn.net/shiqi_614/article/details/8228102 之前做了些线段树相关的题目,开学一段时间后,想着把它整理下,完成了大牛NotOnl ...
- UI开发中的Unit test新工具:网页抓屏比较
在UI开发中,判断是否正常往往需要看到UI长的模样,所以一般的Unit test无法胜任. 现在有一款通过抓屏而后相素比较的方法,或许对于UI自动化测试能够起到比较好的改进效果. 具体请参见:http ...
- R语言串行与并行Apply用法
串行 APPLY<- function(m){ mTemp <- apply(m, 2, mysort) return(mTemp)} snowfall包的并行 SNOWFALL<- ...
- bzoj4197
这题现场想的思路方向都是对的,但限于现场和实力因素没能A 很显然我们会想到质因数的选取 如果某个质数p被W选了,那G就不能选含有质因子p的数 因此我们不难想到状压质数的选取情况,令f[i][j]为w质 ...



