JMeter学习笔记--JMeter监听器
监听器(Listeners)是一种展示采样结果的测试元件,采样结果可以通过树、表格、图片加以展示,或者简单地写入某个结果文件之中。
注:不同的监听器通过不同的方式展示服务器响应信息,但它们都将同样的原始数据记录到某个输出文件中(在某个监听器中指定一个输出文件)
”Configure“ 按钮可以被用来配置哪些数据会被写入到结果文件之中,以及结果文件的格式CSV或者XML。与XML文件相比,csv文件占用的磁盘空间要小很多,当采样次数较多时,建议使用csv格式。另外测试人员可以使用简单控制器将一系列采样器组合起来,并为简单控制器添加一个监听器,多个采样器可使用相同的结果文件,前提是它们有相同的配置。
- 监听器默认配置:监听器默认保存哪些数据域,可以在jmeter.properties(或者user.properties)文件中通过属性定义。这些属性会作为监听器配置对话框的默认设置,还会影响命令行-l标识指定的日志文件(通常针对非GUI模式)。如在jmeter.properties中找到如下行:jmeter.save.saveservice.output_format= 如何保存采样信息是可以配置的,要获取最全面的信息,请选择“XML”格式,并在测试计划选中“Function Test Mode"复选框,如果复选框没有选中,那么默认保存的数据中会包含时间戳、数据类型、线程名、标签、相应时长、消息、编码以及成功标志。
- sample_variables属性用来定义一些补充JMeter变量,这些变量的值会和采样结果一起被保存到JTL文件中。这些变量会作为补充列写入到CVS文件中,或作为补充属性写入到XML文件中。
- 配置采样结果的保存格式:使用配置对话框来设置将哪些数据保存到结果文件中(JTL)以CSV结尾的选项只影响CSV格式的结果文件;以XML结尾的选项只影响XML格式的结果文件。目前CSV格式的结果文件,不能记录包含换行符的数据。注意:cookies、method和查询语句会作为”Sampler Data“的一部分加以保存。
- 非GUI模式运行测试:当JMeter以非GUI模式运行时,可以使用-l(这是字幕,非数字1)标签为测试创建一个监听器(位于测试树的最顶层)。该监听器是测试计划新增的监听器,并不影响测试计划中原有的监听器。可以通过jmeter.properties文件中定义的属性来对该监听器进行配置。示例如下:jmeter -n -t testplan.jmx -l testplan_01.jtl -j testplan_01.log,需要注意,JMeter日志消息默认会写到jmeter.log中,每次测试运行都会重新创建该文件,若需要保存每次运行的日志文件,就需要用到-j选项,JMeter2.3.1及以后版本,支持在日志文件名中使用变量。如果文件名中包含成对的单引号,那么文件名就会以Simple Date Format格式来处理,而且文件名会携带上当前时间。例如:log_file='jmeter_'yyyyMMddHHmmss'.tmp',它能为每个日志文件生成唯一的文件名。
- 监听器资源占用:如果监听的采样器数目很多,那么监听器会占用大量内存。目前大多数监听器会保存每一次采样的数据备份,如:
- Simple Data Writer
- BeanShell/BSF Listener
- Mailer Visualizer
- Monitor Results
- Sunmary Report
而下面的这些采样器不再保存所有单次采用的副本,因为采用周期相同的采样会被聚合起来,如此一来,监听器需要的内存会减少,特别是在大多数采用只耗费一秒或两秒的情况下
- Aggregate Report
- Aggregate Graph
- Distribution Graph
要减少监听器占用的内存,请选择Simple Data Writer,并使用CSV格式保存结果文件
- CSV记录格式:依赖于配置监听器过程中选择的数据域,只有指定的数据会被记录到结果文件之中,列的顺序在结果文件中是固定的。
- timeStamp - in milliseconds since 1/1/1970
- elapsed - in milliseconds
- label - sampler label
- responseCode -e.g. 200,404
- responseMessage - e.g. OK
- threadName
- dataType -e.g. text
- success - true or false
- failureMessage - if any
- bytes - number of bytes in the sample
- grpThreads-number of active threads in this thread group
- allTreads- total number of active threads in all groups
- URL
- Filename - if Save Response to File was used
- latency - time to first response
- encoding
- SampleCount - number of samples(1,unless multiple samples are attregated)
- ErrorCount - number of errors (0 or 1,unless multiple samples are attregated)
- Hostname - where the sample was generated
- IdleTime - number of milliseconds of "Idle" time (normally 0)
- variables --if specified
- XML记录格式:采用节点的名称可以是“sample"或者”httpSample"
- 采样属性:
- by - Bytes
- de - Data encoding
- dt - Data type
- ec - Error count(0 or 1 , unless mulitple samples are aggregated)
- hn - Hostname where the sample was generated
- it - Idle Time
- lb -Label
- lt - Latency=time to initial response(milliseconds) -not all samplers support this
- na - Number of active threads for all thread groups
- ng- Number of active threads in this group
- rc -Response Code(e.g. 200)
- rm - Response Message(e.g. OK)
- s - Success flag(true/false)
- sc- Sample count
- t - Elapsed time(milliseconds)
- tn - Thread Name
- ts -timeStamp
- varname -Value of the named variable
- 保存响应数据:使用Save_Responses_to_a_file 它会为作用域内的每个采样器产生一个结果文件,文件名同采样器名称。
- 加载(读取)响应数据
- 保存监听器GUI的数据:JMeter可以将任何监听器保存为一个PNG文件,用户可以在测试树种选择某个监听器后,右击选择“Save Screen As Image
JMeter学习笔记--JMeter监听器的更多相关文章
- JMeter学习笔记--JMeter常用测试元件
JMeter测试计划有一个被称为“函数测试模式”的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如果你尝试一个较小的测 ...
- JMeter学习笔记--JMeter执行顺序规则
JMeter执行顺序规则: 配置元件 前置处理器 定时器 采样器 后置处理器(除非服务器响应为空) 断言 监听器 只有当作用域内存在采样器时,定时器.断言.前置/后置处理器才会被执行,逻辑控制器和采样 ...
- JMeter学习笔记--JMeter属性和变量
JMeter属性统一定义在jmeter.properties文件中.JMeter属性在测试脚本的任何地方都是可见的(全局),通常被用来定义一些JMeter使用的默认值.如属性remote_hosts定 ...
- JMeter学习笔记--JMeter前置处理器
前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来 ...
- Jmeter学习笔记ONE
最近想学一些关于性能测试方面的知识,其实之前已经初步了解了Jmeter工具,它是一个轻量级的性能测试工具,开源并且免费,相比于Loadrunner来说用起来更简便. JMeter 可以用于对服务器.网 ...
- JMeter学习笔记01-安装环境
记录关于JMeter学习的内容.方便复习. 1)JMeter运行环境 因为JMeter是用纯java写的.所以运行的时候需要java的运行环境. 去java官网下载,点免费下载或所有Java下载都行, ...
- JMeter学习笔记(五)-总结
本周主要学习了JMeter如下几方面内容: (1)Bdboy录制方式: (2)JMeter的代理录制方式: (3)关联,在关联时我们要找到哪些内容是要关联的,这个主要通过分析哪些内容是由服务器返回的, ...
- JMeter学习笔记(二)
3.JMeter测试计划要素 JMeter中一个脚本即是一个测试计划,也是一个管理单元.JMeter的请求模拟与并发数(设置线程数,一个线程代表一个虚拟用户)设置都在脚本文件中一起设置. 要素一:脚本 ...
- Jmeter学习笔记
Jmeter安装 Jmeter组件介绍 Jmeter
随机推荐
- Python中filter、map、reduce、lambda 的用法
Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item依次执行function(ite ...
- 架构师书单 2nd Edition
了2007年的目标,列了下面待读或重读的书单. "其实中国程序员,现在最需要的是一张安静的书桌.",的确,中国架构师大多缺乏系统的基础知识,与其自欺欺人的宣扬"读书 ...
- Android -- Fragment注意事项
ViewPager+Fragment 让Fragment成为ViewPager的一页时,FragmentManager会一直保存管理创建好了的Fragment,即使当前不是显示的这一页,Fragmen ...
- ftp-ftp权限
在服务器上创建ftp站点时勾选的是读写权限对所有的用户开放,但是发现有些用户还是只能读取不能写入,后来发现是因为ftp指向的文件夹本身的权限没有打开导致的,解决办法是,设置ftp指向的文件夹的权限为u ...
- 默认网关和默认路由 —— Cisco CCNA – Default Gateway & Default Routes
原文:https://www.certificationkits.com/cisco-certification/ccna-articles/cisco-ccna-intro-to-routing-b ...
- 导出DLLRegisterServer接口遇到的问题
I'm trying to add DLLRegisterServer and DLLUnregisterServer entry points to an existing DLL that is ...
- [CSS] Pseduo
#self aside li{ list-style-type: none;padding:5px;border-bottom: 1px solid #ccc;} #self aside li:las ...
- 如何使用Total Recorder录制网上的音乐,如何下载只能试听的歌曲
1 在网上找到了对应的网站.其中正在播放的歌曲正是我们想要的 2 在地址栏输入上面音乐网站的网址,并点击捕获广播.(URL直接给出了音乐的完整地址,比如http://www.someserver.co ...
- Python网络编程 - 一个简单的客户端Get请求程序
import socket target_host = "www.baidu.com" target_port = 80 # create a socket object clie ...
- 常用工具软件之串口终端工具——SecureCRT和xshell
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单的说是Windows下登录UNIX或Linux服务器主机的软件.SecureCRT支持SSH,同时支持Telnet和rlog ...