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英文意思为向量:向量是表示大小可以改变的数组的序列容器。 指向其元素的常规指针上的偏移量来访问其元素,并且与数组中的效率一样高。但与数组不同,它们的大小可以动态变化,其存储由容…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果,可同时显示主类&#x…...
