这里省略了安装及配置,一般都知道jmeter是免安装的,配置也是根据个人需要进行配置,从而方便通过命令快速启动,有需要同学自行查询相关文章一下哈,后面就是博主学习的一些随笔,也不是很系统的,姑且将就看看吧,哈哈
基本介绍
一、线程组
线程组:负载发生器,用多线程或者多进程的方式来模拟用户的使用行为。jmeter是以线程的方式来进行模拟用户的并发访问的。
线程数:设置多少个线程(虚拟用户)
循环次数:一个线程执行多少次
Ramp-up 时间:设置多少秒内把线程加载完毕,设置10就是10s
调度器:执行脚本的时间设置

二、逻辑控制器--if控制器
jmeter(5.3)版本:
if控制器:借助其他模块或者函数将需要进行判断的表达式(如 {ifRun}== 1这样的表达式写入Expression中是无效的。
可以借助__jexl3或者__groovy函数来计算表达式的值:{ifRun}==1,)}
或者 直接不勾选“Interpret Condition as Variable Expression?”

三、添加配置原件--JDBC connection configuration
这里添加数据库配置原件,一定要有变了名称,例如demo,“jdbc:mysql”表示这个是链接mysql数据库,后面是数据地址+端口好,“inventory”是数据名字,也可不写或写mysql,不写的数据库时,在写sql时,指定对应的数据即可;“serverTimeZone=UTC”这个是设置查询时区,在做数据库查询时,数据库如果没有设置统一时区,可能会报错,数据库设置好了,此处可省略。

添加完数据库配置,开是写sql,需要添加一个JDBC Request,然后把数据库源文件名称写入,就可以进行数据可查询了。


四、jmeter实现请求预处理
前置处理器:用于在实际的请求发出之前对即将发出的请求进行特殊处理,例如用户参数,可以在实际发送请求之前来定义变量,可以在后边的事假请求中进行使用。
1、用户参数:添加变量,并在控制台打印变量
2、BeanShell Sampler ----可以编写脚本文件

五、jmeter集合点、定时并发
定时器:用于操作与操作中间设置的等待时间。等待时间是性能测试中常用的控制客户端QPS的手段。类似与LoadRunner里面的“思考时间”

六、jmeter实现各种请求的发送
Sampler:取样器,是性能测试中像服务器发送请求,记录相应信息,记录响应时间的最小单元,jmeter原生支持多种不同的Sampler.
例如:
1、BeanShell:可以自己写代码 应用jia包
2、DeBugSampler:协助进行调试工作
3、JAVA请求:自定义代码
4、HTTP请求:写http接口
七、jmeter实现关联
后置处理器:(关联概念的应用器)用于对对Sampler发出请求后得到的服务器相应进行处理。一般用来提取相应中的特定数据
正则表达式提取器和BeanShell取样器截取的字符串包含中文,在表达式括号内使用双引号包起来就能表示截取的是字符串
System.out.println("${title}")



八、jmeter实现数据预判
jmeter实现数据预判
断言:断言用于检查测试汇总得到的相应数据是否符合预期。断言一般用来设置检查点,用于保证性能测试过程中数据交互是否与预期一致

九、jmeter监控数据可视化
jmeter监控数据可视化
监听器:这个监听器不是用来监听系统资源的组件,他是用来对测试结果数据进行处理和可视化展示的一系列组件,例如查看结果树,聚合报告

十、jmeter函数助手
代表性的函数:
1、随机数:(__Random)


2、参数化助手:(__CSVRead)读取CSV文件的值,应用到性能测试脚本中
新建一个csv文件,tetsCsv.csv,数据为:






System.out.println("{__CSVRead(/Users/Documents/Performance/testCsv.csv,0)}");
3、计数器:(__counter)




"System.out.println("Flase= "+{__counter(TRUE,counter)}); 仅循环,每个用户自己的循环计数”
4、唯一数:(__UUID)


十一、jmeter实现分布式并发
大并发量的时候,一般在1000以上就可以考虑分分布式了,关键步骤:
1.master在jmeter.properties中添加remote_hosts;(主压力机)
2.slave在jmeter.properties中添加server_port;(从压力机)
3.slave启动jmeter-server
注意:关闭防火墙
操作过程中遇到的问题:
1、直接启动远程服务时,
提示:Exception creating connection to: 127.0.0.1; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
找不到对应文件
解决:修改jmeter.properties文件,将中找到server.rmi.ssl.disable内容改为:server.rmi.ssl.disable=true并去掉注释,重新启动jmeter

2、在启动时,问题就变成了视频中提到的拒绝访问
Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
解决:要先安装虚拟机,或者有服务器,自己来测试
由于目前没有部署服务,所以么有进行测试。
本文出自慕课网培训视频,不可用于商业用途,转载请注明出处:https://coding.imooc.com/lesson/142.html#mid=7147
时隔很多年,终于还是决定放出来