Jmter实现多并发:
线程组: 负载发生器,用多线程和多进程的方式来模拟用户的使用行为.
Jmeter是以线程的方式来模拟用户的并发访问.
线程数 : 多少个虚拟用户
Ramp-up: 1秒多少线程加压完毕 -加压策略
循环: 循环多少次
调度器: 对于什么时候执行脚本,在时间上的一个控制
Jmeter实现逻辑分支控制:
逻辑控制器:用来控制测试脚本的逻辑判断,也可以理解未如何控制脚本运行.
例如:如果控制器,就是当满足什么样的条件后执行那一步操作
-使用场景 - -判断多并发用户,自己根据业务逻辑,往哪个业务逻辑分支走的一个控制器
Jmeter实现各种请求的发送:
sampler: 取样器,是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter原声支持多种不同的Sampler
beanshell 请求体中带 " " ,可以正常处理中文字符,不带会报错
Jmeter实现关联
后置处理器:
(关联概念的应用器)用于对Sampler发出请求后得到的服务器响应进行处理.
一般用来提取响应中的特定数据
Jmeter实现配置管理:
配置元件: 用来提供一些配置相关的信息,如Http请求头,cookie管理,提供参数化数据.
还可以进行用户自定义变量等配,用以来定义常量等
JDBC -- Jmeter连接 mysql的
CSV_Data - -做参数化的
DNS-- 前端的
Jmeter实现请求预处理:
前置处理器:
用于在实际的请求发出之前,对即将发出的请求进行特殊处理.
例如,用户参数,可以在实际发送请求前来定义变量,可以在后边的实际请求中进行使用
Jmeter集合点,定时并发
定时器:用于操作与操作之间设置等待实际,等待时间是性能测试中常用的控制客户端QPS的手段.
类似LoadRunner里的"思考时间"
Jmter实现数据预判:
断言: 断言用于检查测试中得到的相应数据是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致.
常用于 : 功能型验证,自动化,接口
---应用的不是特别多,也比较容易
Jmeter监控数据可视化:
监听器: 这个监听器不是用来监听系统资源的组件. 它是用来对 测试结果数据 进行处理和可视化展示的一系列组件. 例如: 查看结果树,聚合报告.
红框内,全是关于时间的 .
Jmeter自带的 察看结果树和聚合报告用的比较多, 性能测试中后期,偏向于 命令监控和开源工具
Jmeter小助手 ---函数助手
-随机数 ( __Random) -伪随机数
-参数化助手( __CSVRead ) --以文件的形式做一个参数化
-- 利用Jmeter,把CSV文件读取出来,应用到性能测试脚本中
-计数器 ( __counter) :
TRUE-- 每个用户都有自己的计数器 --每个线程都有自己的计数器
FALSE-- 整个进程用一个计数器
--记录并发的次数 - 可以记录线程,也可以记录进程
-唯一数( __UUID)
--自己不用写代码生成,自带生成
Jmeter实现分布式并发:
分布式--多台服务器同时支撑压力
比较关键的三个步骤:
1.Mater (主压力机 ) 在jmeter.properties中添加remote_hosts
:
''''''------------------------------------------------------------------------------------------------------------------------
jmeter 启动jmeter-server.bat远程调用报错: java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
排坑:
1、找到apache-jmeter-4.0\bin\jmeter.properties
2、修改server.rmi.ssl.disable=true (记得去除server.rmi.ssl.disable=true前的#),重新启动jmeter-server.bat 3、查看命令窗口显示则启动成功''''''------------------------------------------------------------------------------------------------------------------------
2.Slave( 从压力机) 在 jmeter.properties 中添加server_port
3.Slave启动 jemter-server