压测工具Jmeter使用-1

一、安装部署

依赖:Java
windows安装
1.配置环境变量:新建JMETER_HOME系统环境变量,值设置为Jmeter的安装路径,
D:\Program Files (x86)\Jemter\apache-jmeter
2.运行Jemeter:安装路径下,双击bin目录下的jmeter.bat,打开界面

Linux安装
1.上传jmeter包到服务器上:apache-jmeter-5.3.tgz
2.解压到当前传的目录:jmeter
tar zxvf apache-jmeter-4.0.tgz jmeter
3.然后把解压的文件配置到对应的环境变量:
export JMETER_HOME=/root/jmeter
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
4.source /etc/profile 目的让配置文件生效
5.[root@yace01 ~]# jmeter -v
6.创建路径 /opt/wlei/jmeter/test/并执行监控
nohup sar -u 10 >>/opt/wlei/jmeter/test/cpu.log &
nohup iostat -x 10 -t>>/opt/wlei/jmeter/test/io.log &
nohup sar -n DEV 10  >>/opt/wlei/jmeter/test/net.log &
注意:yum install sysstat #安装sar命令

二、Jmeter脚本

使用Jmeter做http脚本,基本分为5个步骤
1、添加线程组
TestPlan右击-》添加Thread Group
2、添加http请求
Thread Group右击-》添加HTTP Request
3、在http请求中写入接口url、消息头和消息体、请求方式和参数
例如:PATH中填   ${__StringFromFile(E:\jmeter\rongqidel\data.txt,,,)}
4、添加断言及查看结果树
(1)响应断言:对Web请求的响应结果进行验证
           鼠标右击http请求->添加->断言->Response Assertion
           对接口返回信息可实现”包括、匹配、相同、或等方式校验
(2)Duration Assertion断言:对响应时间进行验证
           鼠标右击http请求->添加->断言-> Duration Assertion
           对响应时间进行ms级的验证
(3)Size Assertion断言:对响应报文包含字节数进行验证
           鼠标右击http请求->添加->断言-> Size Assertion
           是否包含正确数量的byte。可定义(=, !=, >, <, >=, <=)
(4)对断言结果进行验证可添加监控器
       鼠标右击http请求->添加->监控器->断言结果
View Results Tree查看结果树
Summary Report汇总报告
Aggregate Report聚合报告
5.修改jmx文件并执行压测
jmeter -n -t rongqi-del-100cc.jmx -l rongqi-del-100cc.jtl
导出jtl文件到windows机器可视化加载,得出tps和响应时延
6.查看结果树获取测试结果

三、多机连跑

使用jmeter-linux负载机,windows主控机的配置
1.肉鸡配置及启动
(1)bin/jmeter文件修改堆载信息
HEAP="-Xms10G -Xmx10G"
(2)bin/jmeter-server文件添加主机(去注释)
RMI_HOST_DEF=-Djava.rmi.server.hostname=肉鸡自己IP(主)
(3)bin/jmeter.properties文件修改
remote_hosts=10.19.232.17(主机),127.0.0.1
server.rmi.create=true 
server.rmi.ssl.disable=true
(4)启动负载机
cd /opt/apache-jmeter-3.1/bin/
./jmeter-server -Djava.rmi.server.hostname=192.168.6.6(负载机自己IP)

修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%
2.主控机添加要使用的负载机
新增需要监控的IP和端口,IP就是负载机的IP,端口默认为1099
remote_hosts=localhost:1099,192.168.6.6:1099
server.rmi.ssl.disable=true
3.主机上启动负载机
Run-》Remote start
当负载机中出现finished,表明运行结束

4.默认情况下,负载机是只会将一些特定的数据反馈给控制机的,通常不会包含服务器的响应。
则需要修改以下配置(包括控制机和负载机)。
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data.on_error=true
#Remote batching support
mode=Standard

5.第三方文件(参数文件),需要人为的复制分发到负载机。脚本中的访问路径:
·如果控制机和负载机的操作系统类型一致,则建议使用绝对路径。
·如果控制机和负载机的操作系统类型不一致,则只能使用相对路径。
·在本地(控制机上),当前路径是脚本所在路径。
·在远程(负载机上),当前路径是Jmeter的bin目录所在路径。
联机负载时,要保证控制机和负载机的Jmeter的版本、JAVA环境的一致性。
联机负载时,脚本的运行环境是负载机的环境。

四、Jmeter脚本中的测试计划

 1、独立运行每个线程组:用于控制测试计划中的多个线程组的执行顺序。
                 未勾选:有多个线程组时,其随机启动执行;
            勾选:多个线程组时,等待前一个线程组执行完成后才开始下一个线程组 ;
       补充说明:线程组中的取样器的执行顺序:默认是从上到下执行。交替控制器、随机控制器、随机顺序控制器和循环控制器等可以改变取样器的执行顺序。
2、主线程结束后运行tearDown线程组:
  当线程组停止运行时仍继续运行tearDown线程组,该选项结合线程组(在取样器执行错误后要执行的动作)的执行配置使用。
3、函数测试模式:只有当你需要记录每个请求从服务器取得的数据到文件时才需要选择函数测试模式。选择这个选项很影响性能。在调试脚本的时候,可以开启,但是在压测数量时建议关闭。
4.添加目录或jar包到ClassPath:
  添加文件或jar包,此功能最常用于调用外部jar包。当脚本需要调用外部的java文件或jar包时,可以把jar包路径添加到这里,然后在beanshell中直接import进来,并调用jar包中的方法。

五、Jmeter中的线程组

same user on each interation就是选择每次运行是是否使用同一个cookie
【选中】是 用同一个 也就是每次循环都是同一个用户
【不选中】不需要 每次循环都用新的cookie 也就是每次循环都是新的用户

延迟创建线程直到需要

ramp up的值应该是启动全部线程所需的时间

六、Jmeter中计数器使用

Number format:格式
  (1、不填写时,会采用数字模式,如:001,设置为1
  (2、如果需要特定的格式,需要手动配置,如:想获取00001,就需要配置为:00000
与每用户独立的跟踪计数器:
  (1、默认不勾选,标识全局计数,表示每一个线程/循环每次获取不同的值。
  (2、如果勾选,表示每一个线程的相同循环时都是用的同一个值;
        <boolProp name="CounterConfig.per_user"></boolProp>
reset counter on each thread group iteration:
  只有在勾选每用户独立,才可以设置。
        如果勾选,则每次线程循环都会重置计数器的值,每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用
        <boolProp name="CounterConfig.reset_on_tg_iteration"></boolProp>

在同一个线程组中调用多次或者循环调用该变量,该变量的值都是固定的,进入其他线程组后才增加的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/30940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度解析:品牌推广的内容、方式与形式,你了解多少?

品牌推广是每个企业都需要重视的关键环节。有效的品牌推广不仅能提升品牌知名度&#xff0c;还能塑造品牌形象&#xff0c;进一步吸引并留住客户。 作为一名手工酸奶品牌的创始人&#xff0c;目前全国也复制了100多家门店&#xff0c;我来分享下品牌的推广内容、方式和形式&am…

接口联调测试工作总结

接口联调测试工作已经告一段落&#xff0c;现在总结如下: 1、首先接口联调测试的价值 2、接口联调要有工作思路 3、接口联调工作准备 4、接口联调测试数据设计 5、接口联调脚本研发 6、脚本联调测试 测试业务本身需要接口联调调用 独立接口正确&#xff0c;但有可能接口…

如何用Vue3打造一个令人惊叹的极坐标图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 Vue3-ApexCharts 绘制极地区域图 应用场景 极地区域图常用于展示具有周期性或分类性数据的分布情况&#xff0c;例如不同月份的销售额、不同年龄段的人口分布等。 基本功能 此代码使用 Vue3-ApexChart…

平安养老险黄山中支开展“反洗钱电影送下乡”活动

为不断增强反洗钱教育宣传的精准性和有效性&#xff0c;提升乡村群众的洗钱风险防范意识&#xff0c;6月18日&#xff0c;在中国人民银行黄山市分行的部署和指导下&#xff0c;平安养老保险股份有限公司&#xff08;以下简称“平安养老险”&#xff09;黄山中心支公司、平安人寿…

Python基础教程(二十六):对接MongoDB

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

COSMOSPANDA星际熊猫X 2024广州童博会|聚焦星潮,潮酷无限

中国国宝级原创潮玩IP COSMOSPANDA星际熊猫 震撼亮相2024广州童博会现场 聚焦星潮&#xff0c;潮酷无限 星际熊猫亮相展馆C位 3天展期、400㎡展位 超大型潮玩原创艺术装置 潮玩艺术&#xff0c;打造强烈视觉冲击 外贸中心周善青副主任代表中国第一展广交会前来巡馆 星际…

虚拟机配置桥接模式

背景 因为要打一些awd比赛,一些扫描工具什么的,要用到kali,就想着换成一个桥接模式 但是我看网上的一些文章任然没弄好,遇到了一些问题 前置小问题 每次点开虚拟网络编辑器的时候都没有vmnet0,但是点击更改的时候却有vmnet0 第一步: 点击更改设置 第二步: 把wmnet0删掉 …

代码随想三刷二叉树篇3

代码随想三刷二叉树篇3 404. 左叶子之和题目代码 513. 找树左下角的值题目代码 112. 路径总和题目代码 106. 从中序与后序遍历序列构造二叉树题目代码 654. 最大二叉树题目代码 404. 左叶子之和 题目 链接 代码 /*** Definition for a binary tree node.* public class Tre…

构建高效的大数据量延迟任务调度平台

目录 引言系统需求分析系统架构设计 总体架构任务调度模块任务存储模块任务执行模块 任务调度算法 时间轮算法优先级队列分布式锁 数据存储方案 关系型数据库NoSQL数据库混合存储方案 容错和高可用性 主从复制数据备份与恢复故障转移 性能优化 水平扩展缓存机制异步处理 监控与…

【代码随想录】【算法训练营】【第44天】 [322]零钱兑换 [279]完全平方数 [139]单词拆分

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 44&#xff0c;周四&#xff0c;坚持不住了~ 题目详情 [322] 零钱兑换 题目描述 322 零钱兑换 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 C语言 [279] 完全…

Flink集群架构

在上一章节我们对flink有了一个基本的了解。从它的应用的场景以及它的一些基本的一些核心的一些概念。从本章节开始&#xff0c;我们对flink从它的一个集群的一个架构以及它的一个部署模式着手&#xff0c;去了解flink如何去部署在不同的这样的一个集群的一些资源管理器上面&am…

day64 图论 图论理论基础 深搜 广搜 98. 所有可达路径

图论理论基础 图的种类 整体上一般分为 有向图 和 无向图。 度 无向图中有几条边连接该节点&#xff0c;该节点就有几度。 在有向图中&#xff0c;每个节点有出度和入度。 出度&#xff1a;从该节点出发的边的个数。 入度&#xff1a;指向该节点边的个数。 连通性 在图…

(创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据

目录 一、主要内容&#xff1a; 二、运行效果&#xff1a; 三、VMD-BiLSTM负荷预测理论&#xff1a; 四、代码数据下载&#xff1a; 一、主要内容&#xff1a; 本代码结合变分模态分解( Variational Mode Decomposition&#xff0c;VMD) 和卷积神经网络(Convolutional neu…

视频去水印,视频去水印软件

有时候我们在网上下载了一些喜欢的视频&#xff0c;但是却发现上面有水印&#xff0c;影响观看体验。今天我就来教大家一个轻松去除视频水印的简单的方法。 一、使用专业视频编辑软件去水印 市面上有很多专业的视频编辑软件&#xff0c;如Adobe Premiere Pro&#xff0c;它们都…

代码大模型揭秘:从下载到推理,全流程体验StarCoder

选择模型 模型榜单 大模型的发展日新月异&#xff0c;性能强劲的大模型不断涌现&#xff0c;可以实时关注开源大模型的榜单&#xff0c;选择合适自己的大模型 开源大模型榜单 开源代码大模型榜单 模型网站 目前主流的下载模型的网站就是 huggingface 全球社区&#xff0c;…

react实现窗口悬浮框,可拖拽、折叠、滚动

1、效果如下 2、如下两个文件不需要修改 drag.js import React from "react"; import PropTypes from "prop-types";export default class DragM extends React.Component {static propTypes {children: PropTypes.element.isRequired};static defaultP…

Linux系统之配置Nginx反向代理

Linux系统之配置Nginx反向代理 一、Nginx介绍1.1 Nginx简介1.2 Nginx反向代理二、本次实践介绍2.1 本次实践简介2.2 本次实践环境规划三、基于端口配置反向代理3.1 安装nginx软件3.2 备份配置文件3.3 编辑nginx配置文件3.4 启动Nginx服务3.5 检查Nginx服务状态3.6 设置防火墙和…

Python - 各种计算器合集【附源码】

计算器合集 一&#xff1a;极简版计算器二&#xff1a;简易版计算器三&#xff1a;不简易的计算器四&#xff1a;还可以计算器 一&#xff1a;极简版计算器 运行效果&#xff1a; import tkinter as tk import tkinter.messagebox win tk.Tk() win.title("计算器")…

【AIOps】基于AIOps的故障根因分析及定位

基础知识&#xff1a; 基于机器学习的异常检测与分析技术 传统做法&#xff1a; 复杂运维场景下&#xff0c;如何实现分钟级的故障根因定位 结合大模型&#xff1a; 基于大语言模型的云故障根因分析&#xff5c;顶会EuroSys24论文

Faiss:选择合适的索引Index

向量相似性搜索彻底改变了搜索领域。它允许我们高效地检索从GIF到文章等各种媒体&#xff0c;即使在处理十亿级别数据集时&#xff0c;也能在亚秒级时间内提供令人印象深刻的准确性。 然而&#xff0c;这种灵活性也带来了一个问题&#xff1a;如何知道哪种索引大小最适合我们的…