4.请求结果展示设置
5.文件参数化——函数参数化 选项——》函数助手对话框——》选择——》设置——》点击生成
注意:参数化文件一定是ANSI编码,否则请求url乱码
文件参数化——借助中的配置元件(CSV Data Set )
选中线程组,点击右键,添加-配置元件-CSV Data Set
image.png
a. :参数项文件
b. File :文件的编码,设置为UTF-8
c . Names:文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP 中的参数项一致。:如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)
d. on EOF?:True=当读取文件到结尾时,再重头读取文件 False=当读取文件到结尾时,停止读取文件Stop on EOF?:当 on EOF为False时,当读取文件到结尾时,停止进程,当 on EOF为True时,此项无意义
注意: on EOF?的权重比后面Stop on EOF?大,先判断前边一个参数
注意:此时文件转成UTF-8 使用++转文件格式
用户自定义变量
检查点配置
设置配置各种图表
TPS 图表、响应数据图表、远程服务器监控图表
下载插件包:
将 lib 目录下的 --cmn--0.3.jar 拷贝到 %%/lib 目录下;
将 ext 目录下的 ---basic-2.0.jar 和 ---0.10.jar 拷贝到 %%/lib/ext 目录下
image.png
性能监控配置:
下载插件包:
注意:插件包支持 .1版本,3.2、3.3版本会报错亲测
务必使用.1版本
高级阶段-分布式测试
1 所有的防火墙应该关闭
2 所有的客户端应该都是在同一个子网中。
3 确保可以访问这个服务器
4 确保各个客户端的的版本都是一致的,不同版本的可能不会协同工作。
如果这些前提条件你都准备好了,那么你就可以开始远程测试了。的工作方式就是一个主机会去初始化其它从机的测试案例。系统的拓扑图如下
逐步搭建分布式平台
配置环境变量 %%bin
在从机的系统里,进入的bin目录,然后执行-.bat
主机展示,选择任意从机执行,所有从机执行
jmter. 同一局域网添加2台slave :=127.0.0.1,127.0.0.1
高级阶段-正则表达式提取器
配置说明:
说明:
(1)引用名称:下一个请求要引用的参数名称,如填写title,则可用{title}引用它。(2)正则表达式:():括起来的部分就是要提取的。.:匹配任何字符串。+:一次或多次。?:不要太贪婪,在找到第一个匹配项后停止。(3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是2$$3等等,表示解析到的第几个值给title。如:1$表示解析到的第1个值
举个例子
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。
高级阶段-逻辑控制器
条件控制
条件(默认)(( )):使用的函数或变量进行评估判断条件为真或假
条件解释为变量表达式( as ):如果勾选该项,那么变量表达式会进行求值,并与“ture”或“false”进行比较,而无需使用
对所有子条件执行( for all ):如果勾选该项,则该在没一个子节点执行时执行一次;
默认情况下,该控制器可以对包含在其下面的所有可运行的元素进行执行jmeter事务控制器,但只在入口执行一次
循环控制
参数:Input :输入变量前缀,本例中为: name:输出变量名称,提供给其它控件引用 Start index for loop():循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行) End index for loop():循环结束的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行) Add”” :输入变量名称中是否使用“”进行间隔。
控制
· 第一种是数值,控制器下的子节点从0开始计数,通过指定子节点所在的数值来确定执行哪个元素。
· 第二种是直接指定子元素的名称,比如采样器的Name来进行匹配。当指定的名称不存在时,不执行任何元素。
当Value为空时jmeter事务控制器,默认执行第1个子节点元素。
总结分析
性能分析经验总结
收集压测接口,以及接口主要逻辑保证接口逻辑覆盖全面
设计参数话方案
是否有缓存
存储结构方案
是否需要加入特殊如token、、等
被压系统单台压测还是压测集群
服务器机房
本地外地
2个接口是否有逻辑性等
明确压测目标:
高峰小时的连接数 正常3倍的TPS数量
线上性能问题,问题具体原因和场景
新系统找同样量级的兄弟部门高峰小时连接数作为参考
响应时间17.4ms
出现错误率
如果有错误必须要查清楚错误原因、
错误率5/1000以下
查清错误有很强的规律性,有可能和系统配置有关、或者测试工具有关
压测结果总结分析备份方便下次参考
压测过程需要开发观察系统日志,以及系统机器资源使用情况
网络带宽情况:办公网络是否能支撑压测时间的 流量
压力机是本地,还是外地
实际压测结果数据
1台虚拟机 4核 4G内存 40G硬盘
5587 tps
响应时间:17.04毫秒
线程数100个
总事务数个
成功率100%