jmeter工具介绍
一、原理
二、与loadrunner对比
三、目录结构
四、体系结构及控件使用
一、原理
向服务器提交请求,并从服务器取回请求返回的结果。
即建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。
二、与loadrunner对比
-
loadrunner由c语言开发,jmeter纯java开发
-
jmeter开源,loadrunner收费
-
jmeter小巧,下载下来直接解压到指定目录下,配置jdk环境就可以了。
-
loadrunner太大,将近4GB
-
jmeter不支持ip欺骗,loadrunner支持。
三、目录结构
- bin目录
examples:存放jmeter使用实例
ApacheJMeter.jar :Jmeter源码包
jmeter.sh:启动文件
jmeter.properties:jmeter配置文件
jmerter-server:启动负载生成器文件
jmeter.log:
- /docs目录——帮助文档
- /extras目录——提供对Ant的支持文件,也用于持续集成
- /lib目录——jar包,安装插件也放这里
- /printable_docs目录——用户手册
四、体系结构及控件使用
1.结构
2.常用控件
测试计划(Test Plan)
一个jmx文件只能有一个测试计划,测试计划中可以定义变量(多是不常变化的数据,例如服务器ip,数据库ip等),引入jar包,编辑测试模式。
run thread groups consecutively:独立运行每个线程组
run teardown thread groups after shutdown of main threads:主线程结束后运行tear down线程组
functional test mode:函数测试模式(只有当你需要记录每个请求从服务器取得的数据到文件时才需要选择函数测试模式。选择这个选项很影响性能。)
工作台(最新版没有工作台,可用代理服务台【http代理服务器】)
控件暂存区,测试过程中把暂时不用的控件放到这里。这里的控件不会保存在jmx文件里,如果要保存,要及时把控件归位。
3.线程组(Thread Users)
一个测试计划内可以存在多个线程组。每个线程组之间的变量相互独立。
Thread Group
Name:线程组名称
Comments:描述/备注
Action to be taken after a sampler error:取样器错误后执行以下操作
continue/start next thread group/stop thread/stop test/stop test now:继续/启动下个线程/停止线程/停止测试/立刻停止
thread properties:线程属性
number of threads(users):线程数量
ramp-up period(in seconds):线程启动间隔时间
loop count:循环次数
scheduler configuration:调度器配置
duration:持续时间
startup delay:启动延迟
setup thread group
测试初始化操作,即线程组开始之前执行的内容,用于初始化测试环境,测试数据准备等。