JMeter(需要补充请在留言区发给我,谢谢)
一、学习工具
1、CinfigElement(HTTP Request Defaults、HTTP Header Manager、HTTP Authorization、CSV Data Set Config、User Defined Variables、JDBC Connection Configuration、HTTP Cookie Manager、Random Variable)
二、协议
1、HTTP协议(消息体数据(json)接口、content-type(四种)、参数(parameter)接口)
2、Webservice协议
3、JDBC协议(JDBC connection Configration、JDBC request、批量造数据)
三、第三方插件
Jm plugin manager(插件安装管理工具)
Jpgc(包含jp@gc的前缀的插件,通常需要在下载)
四、场景设计与运行监控
场景:
- Setup thread Group
- Thread Group
- TearDown Thread Group
- Ultimate Thread Group
设计:
- Parameter(HTTP传递参数统称如URL、Body Data等)
- CSV Data Config
- User Defined Variables用户定义变量
- User Parameter用户参数
- JsonExtractor(能够从JSON格式的数据中提取出所需的信息)
执行:
Cookie Manager(存储从服务器响应中接收到的cookie、在后续的HTTP请求中自动发送存储的cookie、支持自定义cookie策略,如接受所有cookie、拒绝所有cookie或仅接受来自原始服务器的cookie)
Header Manager(自定义HTTP请求的请求头、支持在多个HTTP请求之间共享请求头配置)
Http Sampler(发送GET、POST等HTTP请求、支持URL参数、请求体数据、文件上传等、可以配置请求的超时时间、重定向策略等)
Debug Sampler(输出JMeter属性、变量和系统属性的值,帮助开发者在测试过程中诊断问题)
监控:
View Result Tree
Summary Report
Graph Result
Active Threads Over Time(用于显示测试执行期间并发线程的数量随时间的变化情况。这个图表有助于评估系统在不同负载下的性能表现)
Response Times Over Time (用于显示测试执行期间响应时间的变化情况。这有助于了解系统在不同负载下的响应时间表现。)
Transaction Per Second (是软件测试结果的测量单位,表示一个客户机向服务器发送请求并收到响应的过程。)
Server Agent (监控服务器资源利用率的代理,如指标CPU、内存、磁盘等)
PerfMetrics Collector (监控服务器资源利用率的插件,如指标CPU、内存、磁盘等)
nmon (第三方监控分析工具免费、监控各种指标CPU、内存、磁盘、特点消耗资源少、图形图可分析)
五、分布式环境测试(master-slaves、CLI-mode)
1)原因与需求:
当被测接口需要很高的并发量,单机运行的JMeter很容易因为资源限制(如内存、CPU、网络IO)而出现性能瓶颈,导致测试结果不准确或测试无法顺利进行。此时,需要进行分布式测试解决)
2)原理:
JMeter分布式测试环境搭建时,通常选择一台机器作为调度机(master),其他机器作为执行机(slave)。master负责编辑并分发测试脚本(jmx文件),slave负责执行测试脚本并将结果回传给master,master汇总所有slave的结果并生成最终的测试报告。
3)分布式测试的实现步骤
环境准备:确保所有机器上都安装了相同版本的JMeter和JDK,并配置好环境变量。
配置master:在master机器的jmeter.properties文件中配置远程执行机的IP地址和端口号。
配置slave:在slave机器上启动jmeter-server服务,并确保slave机器可以被master访问。
编写测试脚本:在master机器上编写测试脚本,设置好需要的线程数等参数。
分发与执行:通过master机器的JMeter GUI界面启动测试,master会将测试脚本分发到所有配置的slave机器上执行。
结果汇总:slave机器执行完毕后将结果回传给master,master汇总所有结果并生成测试报告。
六、Jenkins环境测试(ant、build文件修改、CI/CD配置)
- 原因与需求:
通过Jenkins搭建JMeter测试环境,可以实现测试的自动化、持续集成和持续部署,提高测试效率和软件质量。
- 原理:
Jenkins是一个开源的自动化服务器,它允许你自动化各种任务,如构建、测试和部署软件。
3)分布式测试的实现步骤
安装Jenkins:在服务器上安装Jenkins,并启动Jenkins服务。
安装JMeter插件:在Jenkins中安装JMeter插件,以便能够执行JMeter测试脚本。
配置Jenkins任务:在Jenkins中创建一个新的任务,配置任务以执行JMeter测试。这包括设置测试脚本的路径、测试报告的保存路径等。
配置构建触发器:根据需要配置构建触发器,如定时触发、代码提交触发等,以实现测试的自动化。
执行测试:保存配置后,手动触发或等待触发器自动触发任务执行测试。Jenkins将自动下载JMeter并执行指定的测试脚本。
查看结果:测试执行完毕后,Jenkins会生成详细的测试报告,包括性能指标、图表和趋势分析等,方便开发人员和测试人员进行性能分析和优化。
七、未完成
1、逻辑控制器插件:(事务控制器、仅一次控制器、条件控制器、循环控制器)
Beanshell插件(BeanShell PreProcessor(是一个前置处理器,它在采样器(如HTTP请求)执行之前运行自定义的BeanShell脚本。它允许用户在进行请求之前对数据进行预处理或准备测试数据。)、BeanShell PostProcessor(是一个后置处理器,它在采样器执行之后运行自定义的BeanShell脚本。它允许用户对采样器的响应数据进行处理或进一步分析。)、BeanShell Timer(是一个定时器组件,它允许用户通过编写BeanShell脚本来自定义采样器的等待时间。))
2、跨线程组传参
3、MD5解密
相关文章:
JMeter(需要补充请在留言区发给我,谢谢)
一、学习工具 1、CinfigElement(HTTP Request Defaults、HTTP Header Manager、HTTP Authorization、CSV Data Set Config、User Defined Variables、JDBC Connection Configuration、HTTP Cookie Manager、Random Variable) 二、协议 1、HTTP协议(消息体数据&am…...
线程池的执行流程和配置参数总结
一、线程池的执行流程总结 提交线程任务;如果线程池中存在空闲线程,则分配一个空闲线程给任务,执行线程任务;线程池中不存在空闲线程,则线程池会判断当前线程数是否超过核心线程数(corePoolSize)…...
node-red-L3-重启指定端口的 node-red
重启指定端口 目的步骤查找正在运行的Node.js服务的进程ID(PID):停止Node.js服务:启动Node.js服务: 目的 重启指定端口的 node-red 步骤 在Linux系统中,如果你想要重启一个正在运行的Node.js服务&#x…...
(done) 使用泰勒展开证明欧拉公式
问问神奇的 GPT,how to prove euler formula? 一个答案如下:...
红队apt--邮件钓鱼
前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 免责声明: 本文仅供了解攻击方手法使用,切勿用于非授权情节 初步了解邮件基础 用途方面 这个我们应该比较熟悉,最常用于验证码接收,也有一些厂商会用这个来打广告,…...
十七,Spring Boot 整合 MyBatis 的详细步骤(两种方式)
十七,Spring Boot 整合 MyBatis 的详细步骤(两种方式) 文章目录 十七,Spring Boot 整合 MyBatis 的详细步骤(两种方式)1. Spring Boot 配置 MyBatis 的详细步骤2. 最后: MyBatis 的官方文档:https://mybatis.p2hp.com/ 关于 MyBa…...
DNS协议解析
DNS协议解析 什么是DNS协议 IP地址:一长串唯一标识网络上的计算机的数字 域名:一串由点分割的字符串名字 网址包含了域名 DNS:域名解析协议 IP>域名 --反向解析 域名>IP --正向解析 域名 由ICANN管理,有级别…...
每日一题——第一百零八题
题目: 写几个函数, ①输入10个职工的姓名和职工号 ②按照职工号由小到大排列, 姓名顺序也随之调整 ③要求输入一个职工号, 用折半查找找出该职工的姓名 #include<stdio.h> #include<string.h> #define MAX_EMPOLYEES…...
使用Python免费将pdf转为docx
刚刚想将pdf转换为docx文档时,居然要收费 还好我学过编程,这不得露两手 将pdf 转换为 docx 文档 的操作步骤 我这里使用的是Python语言 (1)在终端上安装 pdf2docx 是一个 Python 库,它可以将 PDF 文件转换为 Word (…...
树莓派4B+UBUNTU20.04+静态ip+ssh配置
树莓派4B+UBUNTU20.04+静态ip+ssh配置 1.烧录Ubuntu镜像1.1选择pi 4b1.2选择ubuntu server (服务器版,无桌面)20.041.3选择sd卡1.4 点击右下角 NEXT ,编辑设置,输入密码,wifi选CN, 开启ssh1.5 烧录,依次点击“是”,等待完成2 烧录完成后装入树莓派,上电,等待系统完成配…...
C#实现指南:将文件夹与exe合并为一个exe
在软件开发过程中,有时需要将多个文件(如资源文件、配置文件等)与可执行文件(exe)打包在一起,以便于分发和部署。在C#中,我们可以利用ILMerge或Costura.Fody等工具来实现这一目标。本文将介绍如…...
linux信号 | 学习信号三步走 | 全解析信号的产生方式
前言:本节内容是信号, 主要讲解的是信号的产生。信号的产生是我们学习信号的第二个阶段。 我们已经学习过第一个阶段——信号的概念与预备知识(没有学过的友友可以查看我的前一篇文章)。 以及我们还没有学习信号的第三个阶段——信…...
C++ 刷题 使用到的一些有用的容器和函数
优先队列 c优先队列priority_queue(自定义比较函数)_c优先队列自定义比较-CSDN博客 373. 查找和最小的 K 对数字 - 力扣(LeetCode) 官方题解: class Solution { public:vector<vector<int>> kSmallestP…...
【Kubernetes】常见面试题汇总(三十四)
目录 86. K8s 每个 Pod 中有一个特殊的 Pause 容器能否去除,简述原因。 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)” 。 题目 69-113 属于【Kuberne…...
C++标准库双向链表 list 中的insert函数实现。
CPrimer中文版(第五版): //运行时错误:迭代器表示要拷贝的范围,不能指向与目的位置相同的容器 slist.insert(slist.begin(),slist.begin(),slist.end()); 如果我们传递给insert一对迭代器,它们不能…...
华为机考练习(golang)
输入 第一行输入一个正整数N,表示整数个数。(0<N<100000) 第二行输入N个整数,整数的取值范围为[-100,100]。 第三行输入一个正整数M,M代表窗口的大小,M<100000,且M<N。 输出 窗口…...
51单片机快速入门之按键应用拓展
51单片机快速入门之按键应用拓展 LED的点动控制: 循环检测,当key 为0 时 led 亮 反之为熄灭 while(1){ if(key!1) { led0; }else { led1; } } LED的锁定控制: 当按钮按下,led取反值 while(1) { if(key!1) { led!led; } } LED的4路抢答控制: bz默认为0 !bz 取反值,循环启动…...
数据库 - MySQL的事务
目录 前言 一、事务的特性 (一)原子性 (二)一致性 (三)隔离性 (四)持久性 二、事务的控制语句 三、事务隔离级别 (一)读未提交 (二&…...
【Python机器学习】NLP信息提取——提取人物/事物关系
目录 词性标注 实体名称标准化 实体关系标准化和提取 单词模式 文本分割 断句 断句的方式 使用正则表达式进行断句 词性标注 词性(POS)标注可以使用语言模型来完成,这个语言模型包含词及其所有可能词性组成的字典。然后,该…...
vector类
一、STL库 vector 1.1 vector的介绍 vector英文意思为向量:向量是表示大小可以改变的数组的序列容器。 指向其元素的常规指针上的偏移量来访问其元素,并且与数组中的效率一样高。但与数组不同,它们的大小可以动态变化,其存储由容…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
