Jmeter系列(6):注意点
参数的定义,获取与使用
常用的定义参数的元件
1.Test Plan > User Defined Variables:主要用于定义初始变量
2.Config Element > User Defined Variables:主要用于定义初始变量,无论放在什么位置,都在开始的时候进行处理,推荐将全局使用的变量,并且不太会在线程之间变化的变量定义在该元件内
3.Config Element > CSV Data Set Config:主要用于读取文件的每一行内容,并拆分成变量,每一行可视为一组数据,推荐将量大的测试数据定义该元件内,比如测试账号,密码
4.Config Element > Random Variable:类似在User Defined Variables里使用方法__Random()定义的变量
5.Pre Processors > User Parameters:允许用户为每个独立的线程指定参数,和CSV Data Set Config类似,并且可以选择是在每个iteration更新一次数据还是在每个取样器请求之前更新一次数据
常用的获取参数的元件
1.Post Processors > JSON Extractor:使用JSON语法提取响应信息里的数据,当响应信息格式为JSON的时候,推荐使用
2.Post Processors > Regular Expression Extractor:使用正则表达式提取响应信息里的数据
3.Post Processors > XPath Extractor:使用XPath查询语言提取响应信息里的数据,当响应信息格式为xml或者html的时候,推荐使用,当响应信息为HTML的时候,请勾选"Use Tidy",当响应信息为XHTML或者XML时,请勿勾选"Use Tidy"
JMeter常用的内置变量
vars:JMeter中的一个全局变量,hashmap类型,作用域于单个线程
vars.get("key"); //获取key="key"的值
vars.put("key","value"); //创建或者更新key="key"的值为"value"
API: http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html
prev:这是一个对取样器返回各种信息的一个打包。
prev.getResponseCode(); //获取响应代码
prev.getResponseDataAsString(); //获取响应信息,返回String格式
API: http://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
JMeter常用的内置函数
__time:获取当前时间
__javaScript:执行JavaScript代码片段(非Java),并返回结果值
__Random:返回指定最大值和最小值之间的随机数
__split:通过分隔符来拆分传递给它的字符串,并返回原始的字符串
__eval:用来执行一个字符串表达式,并返回执行结果
函数调用的格式:${__functionName(var1,var2,var3)}
所有的函数详细说明见JMeter > Options > Function Helper
服务器资源监控
CPU
1.CPU本身的情况,如逻辑处理器、处理器型号、主频率、cache大小、是否支持超线程技术等
2.CPU的使用情况,主要关注CPU使用率(通常使用率不得大于75%)
3.CPU负载,是否满载(Load average通常不得大于CPU核心数*1.2)
4.CPU错误
内存
1.内存本身的情况,物理内存和虚拟内存的大小
2.内存的使用情况,内存利用率
3.内存负载,内存次缺页数(次缺页数意味已经在不停和swap打交道,证明内存已经饱和)
4.内存错误。
磁盘I/O
1.磁盘使用情况,磁盘利用率
2.磁盘负载,是否有I/O等待(如有I/O等待,可能I/O已经满载)
3.I/O错误。
网络
1.网络本身的情况,网络带宽、网络延迟、阻塞
2.网络收发包的吞吐速率(不得大于网卡上限)
3.网络丢包(如有网络丢包,可能网络已经满载)
4.网络错误
工具
在Linux系统上可使用top等命令监控以上服务器资源,或者使用nmon监控,下载地址nmon for Linux | Site / Download
-------------------------------------------
个性签名:君子藏器于身,待时而动
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!