版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 JmeterJmeter基础培训基础培训 报告人:质量控制部 黄春 Judy Huang 目录 第一部分 Jmeter简介存拆库项目性 能测试 第二部分 安装Jmeter 第四部分 脚本的录制 第五部分 脚本加工存拆库项目性能 测试 第六部分 场景设置 第八部分 远程测试 第十部分 Jemter Plugins 第七部分 数据收集和展示 第三部分 Jmeter组件 第九部分 NON GUI模式 3 Jmeter简介 Jmeter是什么 Apache JMeter 是Apache组织的开放源代码项目,是一个100%纯Java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用 测试但后
2、来扩展到其它测试领域。 我用它能做什么 Apache JMeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java对象,数据库和查询,FTP服务器或是其它资源)的 性能进行测试。JMeter可以用于在服务器,网络或对象模拟繁重的负载来测试它们提供服务的受压能力或者分析不同压力条件下的总体 性能情况。你可以使用JMeter提供的图形化界面,分析性能指标或者在高负载情况下测试你的服务器/脚本/对象。 Jmeter能做什么 能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。 完全的可移植性和100%纯Java。 完全Swing
3、的轻量级组件支持(预编译的JAR使用 javax.swing.*)包。 完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。 精心的GUI设计允许快速操作和更精确的计时。 缓存和离线分析/回放测试结果。 高可扩展性: 可链接的取样器允许无限制的测试能力。 各种负载统计表和可链接的计时器可供选择。 数据分析和可视化插件提供了很好的可扩展性以及个性化。 具有提供动态输入到测试的功能(包括JavaScript)。 支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。 4 Jmeter安装配置 配置JDK 从/d
4、ownload_jmeter.cgi下载, 解压后运行bin目录下的 jmeter.bat 5 Jmeter组件 Thread Group: 场景的起始点,设置多少用户并发,什么时候开始跑,跑多久。 Controllers: 包括Samplers和Logical Controllers。 Samplers: 告诉Jmeter发请求和等待响应。 Logic Controllers: 组织发送请求的逻辑,例如什么情况下发请求,每个请求发多少次, 多少百分比,顺序是怎么样的。 Listener: 收集测试用例运行信息,例如响应时间,请求和响应的详细信息。 Timers:请求之间的暂停。 Assert
5、ions: 验证服务器返回的信息是否正确。 Configuration Elements: 对samplers进行配置。 Pre-Processor: 运行在Sampler之前,多用于设置sampler,和更新从上一个响应获得的变量 值。 Post-Processor: 运行在Sampler之后,多用于对响应数据的处理。 6 Jmeter组件 执行顺序: 0.Configuration elements 1.Pre-Processors 2.Timers 3.Sampler 4.Post-Processors (unless SampleResult is null) 5.Assertions
6、 (unless SampleResult is null) 6.Listeners (unless SampleResult is null) 只有有sampler 的时候,Timers, Assertions, Pre- and Post- Processors才会被运行, Logic Controllers and Samplers 按 它们在树里的排列顺序执行 例子: Controller Post-Processor 1 Sampler 1 Sampler 2 Timer 1 Assertion 1 Pre-Processor 1 Timer 2 Post-Processor 2 执
7、行的顺序会是: Pre-Processor 1 Timer 1 Timer 2 Sampler 1 Post-Processor 1 Post-Processor 2 Assertion 1 Pre-Processor 1 Timer 1 Timer 2 Sampler 2 Post-Processor 1 Post-Processor 2 Assertion 1 7 Jmeter组件 作用域规则: Controllers的作用域是它的子元素 其它组件是按等级来的,例如, 一个Assertion,如果它的父节点是请求,那它应用于这个 请求,如果它的父节点是Controller,那它应用于Con
8、troller下面所有的请求。 如图,Assertion #1应用于请求 One, Assertion #2应用于请求 Two,Three。 Timer#1应用于请求Two,Three,Four, Assertion #1应用于请求Three,Timer #2 应 用于所有请求。 8 录制脚本 Step 1 工作台添加一个HTTP代理服务器,用来录脚本 Step 2 添加一个察看结果树,用来观察脚本录制过程中产生的请求和响应数 据 Step 3 线程组里面加一个录制控制器,录的请求会放在录制控制器里 Step 4 浏览器的端口必须跟HTTP代理服务器设置的端口一样 Step 5 启动HTTP代
9、理服务器,用浏览器打开要录的接口 过滤掉或直接删掉,例如.*.gif 9 脚本编辑 关联 从上一个请求拿出要关联的数据,用正则表达式去匹配,例如要匹配的是id“:145 中的 145,可以写成id”:(.*?) 或 id“:(.+?) 或 id:(.*?) .匹配任何字符 *匹配0次或多次 +匹配1交或多次 ?初次匹配成功后就停止 /usermanual/regular_expressions.html有关于正则表达式写法的 描述。 模板:$1$表示第一组 匹配数字:1第一个匹配的,2第二个匹配的,0随机取 10 脚本编辑 参数化 用CSV Dat
10、e Set Config参数化 每个线程的每个迭代用不同的值,线程调用这参数值的顺序是他们执行的顺序决定的。 Recycle on Eof=true,如果所有值被用完,就从头开始取, Recycle on Eof=false时,stopThread才起作用 Recycle on Eof=false,stopThread=false,当文件里面的所有的参数值被用完后,参数会被设为等于 Recycle on Eof=false,stopThread=true,当文件里面的所有的参数值被用完后,场景就会停下来 Delimiter 两列参数之间的分隔符,默认是逗号,也可以设置为其它值 Allow qu
11、ote data CSV文件是否允许值被引号,如果是enabled,值可以被双引号括起来(只允许双引号,不允许单引号) 如果想每个数据集有自己的数据,可以使sharing mode = current thread, 需要为每个线程建一个文件(如果没有, 那么这个线程将不被执行),例如 test1.csv, test2.csv,. testn.csv. 用这个文件名 test$_threadNum.csv 11 脚本编辑 参数化 用Jmeter自带的方法参数化 例如: $_StringFromFile(/home/vipshop/Jenkins/workspace/benchmarktest_
12、cart.api/userEdi t.csv,userEditID,) $_RandomString(9,chars,variableName) 12 脚本编辑 HTTP Cookie 管理器 有些请求会被重定向多次,因为我们没有维护user session, session要读cookie,所以需 要加上cookie manager. 例如这个请求 http:/ 把HTTP Cookie Manager加到每个 Thread Group,可以每个thread拥有 自己的cookies, 但是每个thread的 所有Http请求会共享这个 cookie 13 脚本编辑 定时器 Synchron
13、izing Timer:等待到达一定数量的用户数 后才释放用户。 0表示等齐所有用户,10表示等齐10个用户 固定定时器:使每个thread在请求之间停顿相同的时 间。 14 脚本编辑 检查点 响应断言:为保证响应数据的准确性,检查响应的数据是否包含,匹配,等于某个样式字符 串。 15 场景设置 可根据场景的要求选择controller 用controller组织你的sampler 吞吐量控制器,控制用户执行频率 Total Executions 当达到一定数量使控制器停止场景运行 Percent executions 使控制器执行test plan设定的一定百分比 Per User 如果勾了
14、,计算基于所有用户一起执行,如果不勾,计算基于单个用户 事务控制器,用于统计嵌套在transaction controller里面的所有元素的值(响应时间, tps, 吞吐量等) Generate Parent Sample,如果勾了,这个控制器生成为其它sampler的父节点,否则独立于其它sampler Include duration of timer and pre-post processors in generated sample , 如果勾了,Transaction Controller 的时间把timer和pre-post processors也计算在内,如果不勾,则不计算p
15、re-post processors的时间 16 场景设置 线程组 线程组是设置计划的开始点,所有controller和sampler都必需在线程组下面,其它元素 可以直接放在test plan下面,用于同时应用于所有的线程组,例如listener。 ramp-up period:Jmeter花多少时间去启动所有的线程。如果有10个线程, ramp-up period是100秒 ,每个线程在上一个线程启动10秒后才启动 当循环数达到循环次数,时间达到结束时间或持续时间,场景会停止运行。 启动延迟的优先级高于启动时间,持续时间的优先级高于结束时间 17 数据收集和展示 Label:Sampler
16、的名字 Samples:请求个数 Average:平均响应时间,单位毫秒 Median:中位数,也就是 50 用户不大于这个 值,剩下的不小于这个值,单位毫秒 90% Line:90 用户不大于这个值,剩下的不 小于这个值,单位毫秒 Min:最小响应时间,单位毫秒 Max:最大响应时间,单位毫秒 Error%:本次测试中出现错误的请求的数量/请 求的总数 Throughput:每秒完成的请求数 Kb/Sec:每秒从服务器端接收到的数据量, Kilobytes per second, 相当于LoadRunner中的 Throughput/Sec Avg. Bytes: 请求的响应数据的平均大小
17、Std.Dev: Standard Deviation, 所有响应时间标准 偏差,反映数据波动,越小越好 18 察看结果树:以树的形式显示所有sampler的请求数据和响应数据,还可以看到接收响应数 据所花费的时间。由于使用它会消耗较多的资源,请只在调试和验证脚本时使用。 19 远程测试 1.节点(节点包括client和server, client是调度机,server是被调度机)最好用同一版本 jmeter,如果用了数据文件,数据文件不会被client传到server里,所以请保证数据文 件存在于所有的server的正确目录里。 2.防火墙要关掉 3.所有节点要在同一个子网 4.一台clie
18、nt启动多台server 20 远程测试 5. 在server上跑JMETER_HOME/bin/jmeter-server.bat 6. 在/bin/perties里修改remote_hosts属性,可设置多个host,用逗号隔开,例 如remote_hosts=,8 21 NON GUI模式 Non GUI比GUI节省资源,并有更高的稳定性 步骤: 1. 进入jmeter的bin目录 2. 运行jmeter -n -t E:jmetertrainingexample.jmx -l E:jmetertrainingresult.jtl 或jmeter -n -t E:jmetertrainingexample.jmx -l E:jmetertrainingresult.jtl - Jthreads 5 -Jit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 圆锥曲线中的面积问题+课件-2026届高三数学二轮复习
- 工程招标考试试题及答案
- 2026三年级数学上册 图形的能力测试
- 2026六年级数学下册 圆柱圆锥组合体
- 口腔正畸拍照试题及答案
- 政治学原理试题库及答案
- 企业工程档案制度
- 2025 高中信息技术数据与计算在项目式学习课件
- 企业安全培训奖惩制度
- 亚马逊运营部奖惩制度
- 2026年常州工业职业技术学院单招职业适应性测试题库及答案详解(历年真题)
- 2026四川成都市金牛国投人力资源服务有限公司招聘金牛区街区规划师8人考试参考试题及答案解析
- 2026年国企供排水试题及答案
- 2026年南京旅游职业学院单招职业技能测试题库及答案详解(考点梳理)
- CMA质量手册(2025版)-符合27025、评审准则
- Peppa-Pig第1-38集英文字幕整理
- 统计用产品分类目录
- 雅培Perclose血管缝合器使用过程中常见问题及解决方法
- 中小学生课外读物负面清单自查表
- YS/T 73-2011副产品氧化锌
- WS 319-2010冠状动脉粥样硬化性心脏病诊断标准
评论
0/150
提交评论