Jmeter 分布式压测

为什么要分布式

  • jmeter是100%纯java开发的程序,虚拟用户是以线程实现的,在大量并发情况下,很容易出现CPU、内存消耗过大的问题,甚至会出现java内存溢出。
  • 一般一台电脑设置500-600线程数即可,如果超过1000线程,单机电脑就有点过高了,同时也还要关注本机电脑CPU、内存不能超过80%~90%的范围,否则会导致测试机本身的性能瓶颈,测试结果也会不准确。

分布式测试原理

  • 总控机器的节点Jmeter controller,其他产生压力的机器叫“肉鸡”(Jmeter server)
  • controller会把脚本发送到Jmeter server上,肉鸡不需要准备jmx文件
  • 执行的时候,server上只需要把jmeter-server打开就可以了,不用启动jmeter
  • 执行结束后,server会把压测数据回传给controller,然后controller汇总输出报告
  • 注意:必须保证主机和肉鸡安装相同的jdk和jmeter

在这里插入图片描述

环境部署

  1. 准备机器:
    在这里插入图片描述
  2. 安装示例:
# 所有机器都需要安装
apt-get update --fix-missing # 更新源
apt-get install openjdk-8-jdk # 安装jdk
cd /opt
tar -xvf apache-jmeter-5.6.2.tgz  # 假设已经下载了对应版本到该目录
vim /etc/profile  # 将jmeter追加到系统环境变量export JMETER_HOME=/opt/apache-jmeter-5.6.2export PATH=$JMETER_HOME/bin:$PATH
source /etc/profile # 生效
  1. 检查java环境
    在这里插入图片描述
  2. 检查jmeter环境
    在这里插入图片描述
  3. 更改配置文件
  • master机
    进入/opt/apache-jmeter-5.6.2/bin 目录,按以下配置修改jmeter.properties配置文件
    注:remote_hosts 为执行机的ip及端口,多个执行机可通过英文逗号 “,” 进行拼接
    在这里插入图片描述server.rmi.ssl.disable=true(关闭SSL传输)

  • slave机
    进入/opt/apache-jmeter-5.6.2/bin 目录,修改jmeter.properties配置文件, 只需将server.rmi.ssl.disable=true即可

  1. 运行
  • slave机
    进入/opt/apache-jmeter-5.6.2/bin运行jmeter-server
    在这里插入图片描述
  • master机
    jmeter -n -t ./sfs.jmx -l ./result.jtl -j ./result.log -r
    在这里插入图片描述

注意事项

  • 进行性能测试前,尽量对Jmeter进行减负,避免运行时间过长,导致Jmeter卡死:
    (1)并发线程不要设置太高,建议单机300以下
    (2)“察看结果树”勾选“仅日志错误”,尽可能减少jvm内存使用
    (3)在压测时,要禁用诸如View Result Tree这类的监听器,这类监听器非常耗内存
    (4)用jmeter测试时使用BeanShell脚本获取随机参数值,会导致请求时间过长,TPS过低。应改为使用csv读取参数值,记录的TPS会更加准确
  • Master与各Slave使用的Java、jmeter版本保持一致;
  • 若测试计划中引用了某插件,则Master与各Slave都要包含该插件
  • 测试计划只需要放在Master上,执行时会自动分发到各Slave,不需要每台Slave复制一份

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

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

相关文章

vue - - - - - vue-qr插件生成二维码

vue-qr插件生成二维码 1. 安装插件2. 组件使用示例图&#xff1a;扫码结果 1. 安装插件 【vue-qr 官网地址】 npm install vue-qr --save // or yarn add vue-qr --save2. 组件使用 <template><vue-qr :logo-src"logoSrc":size"237":margin&qu…

php一句话木马免杀

php一句话木马免杀 针对于php一句话木马做免杀&#xff1a; 利用php动态函数的特性&#xff0c;将危险函数拆分成字符&#xff0c;最终使用字符串拼接的方式&#xff0c;然后重新拼接&#xff0c;后加括号执行代码&#xff0c;并且可以使用花指令进行包装&#xff0c;如无限i…

【Unity】EventSystem.current.IsPointerOverGameObject()对碰撞体起作用

本来我是用 EventSystem.current.IsPointerOverGameObject()来检测是否点击在UI上的&#xff0c;但是发现&#xff0c;他对我的碰撞体也是返回ture,研究半天。。。。找不出问题&#xff0c;然后发现我的相机上挂载了PhysicsRaycaster&#xff0c;去掉之后就好了&#xff0c;至于…

Mapbox中点图层和面图层点击事件重叠,禁止点击穿透方案

使用mapbox的小伙伴们可能都遇到过这个问题,就是当地图上有两个图层,一个面图层一个点图层,二者相重合的时候。假设我们想点击点位弹窗展示一些内容,也想点击面图层的时候弹窗展示一些内容,这时候一个有意思的问题就产生了,就是点击点位弹窗的时候面图层对应的弹窗也会弹…

计算二叉树双分支节点的个数(可运行)

如果对您有用&#xff0c;点个赞&#xff0c;关注一下哦&#xff01;毕竟像我这种不用付monyY的博主不多了&#xff0c;且行且珍惜吧&#xff01;俺只想要数据【偷笑】 运行环境.cpp 如果没有输出结果一定是建树错误&#xff01;&#xff01;&#xff01;&#xff01;&#x…

MySQL-01-MySQL基础架构

1-MySQL逻辑结构 如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图&#xff0c;有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。 MySQL逻辑架构整体分为三层&#xff0c;最上层为客户端层&#xff0c;并非MySQL所独有&#xff0c;诸如&#xff1a;连接处…

数据结构:链表

目录 一.为什么要使用链表存储数据&#xff1f; 二.链表的分类 单向或者双向链表&#xff1a; 带头或者不带头&#xff1a; 循环或者非循环&#xff1a; 三.链表的实现 3.1无头单向非循环链表的实现&#xff1a; 3.1.1单向无头非循环链表的声明 3.1.2动态申请一个节点 …

亚马逊防关联要注意什么?看这一篇,防关联有技巧!

亚马逊账号关联的问题&#xff0c;对于跨境电商来说都不陌生&#xff0c;店铺的安全问题往往和账号关联有关&#xff0c;一旦亚马逊账号被关联就很可能导致我们的店铺被封&#xff0c;对于被亚马逊封店的卖家都会有申诉机会&#xff0c;如果无法成功申诉&#xff0c;那将永久被…

C语言——利用函数递归,编写函数不允许创建临时变量,求字符串长度

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int my_strlen(char* str) {if(*str ! \0)return 1my_strlen(str1);elsereturn 0; }int main() {char arr[] "hello";int len my_strlen(arr); //arr是数组&#xff0c;数组传参&#xff0c;传过去的是第…

NB水表能承受最大的水压是多少?

NB水表&#xff0c;作为新一代智能水表&#xff0c;以小巧的体积、稳定的性能和强大的功能赢得了市场的认可。那么&#xff0c;它究竟能承受多大的水压呢&#xff1f;接下来&#xff0c;小编来为大家揭秘下&#xff0c;一起来看下吧&#xff01; 一、NB水表概述 NB水表&#xf…

安卓手机好用的清单软件有哪些?

生活中每个人都有丢三落四的习惯&#xff0c;伴随着生活节奏的加快&#xff0c;人们常忘事的情况会更加频繁的出现&#xff0c;这时候很多人就开始选择手机上记录清单类的软件&#xff0c;安卓手机在手机市场中占有很大的分量&#xff0c;在安卓手机上好用的记录清单的软件有哪…

SiP封装、合封芯片和芯片合封是一种技术吗?都是合封芯片技术?

合封芯片、芯片合封和SiP系统级封装经常被提及的概念。但它们是三种不同的技术&#xff0c;还是同一种技术的不同称呼&#xff1f;本文将帮助我们更好地理解它们的差异。 一、合封芯片与SiP系统级封装的定义 首先合封芯片和芯片合封都是一个意思 合封芯片是一种将多个芯片&a…

【Leetcode每日一题】mid——6. N 字形变换

题目描述 https://leetcode.cn/problems/zigzag-conversion/description/ 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; 之后&#xff0…

技术细分|推荐系统——推荐系统中的数据去偏方法

本篇的主要脉络同样依据中科大何向南教授、合工大汪萌教授联合在 TKDE 上的一篇综述文章展开&#xff1a;Bias and Debias in Recommender System: A Survey and Future Directions。 下面按照前导文章中介绍的数据偏差 Selection Bias、Conformity Bias、Exposure Bias、Posit…

找JPG格式图片的地址(持续更新中)

问题描述&#xff1a;找JPG格式图片的地址 解决办法&#xff1a; 第一个 谷歌的images 第二个&#xff0c;搜狗图片和百度图片 不过下载是WEBP格式&#xff0c;可以使用一个在线WEBP格式转JPG格式的在线网站即可。 转换的网址为&#xff1a; https://ezgif.com/webp-to-j…

【学历是敲门砖】如果你想有个好的起点,不妨冲一冲计算机考研,这本书将会助你一臂之力

目录 计算机考研难点 《计算机考研精炼1000题》揭秘问答 1. 为什么是1000题&#xff1f; 2. 有什么优势&#xff1f; 3. 编写团队水平如何&#xff1f; 4. 题目及解析品质如何&#xff1f;可以试读吗&#xff1f; 购买链接 高质量的学习提升圈子 京东热卖下单链接&…

可视化NGINX管理平台Nginx Proxy Manager

# for CentOSyum install docker-compose -y# for Ubuntuapt-get install docker-compose -y 如果提示&#xff1a; 没有可用软件包 docker-compose&#xff0c; 错误&#xff1a;无须任何处理 通过 pip 安装 docker-compose # 添加企业版附加包 yum -y install epel-rel…

java--static的注意事项

1.使用类方法、实例方法时的几点注意事项 ①类方法中可以直接访问类的成员&#xff0c;不可以直接访问实例成员。 ②实例方法中既可以直接访问类成员&#xff0c;也可以直接访问实例成员。 ③实例方法中可以出现this关键字&#xff0c;类方法中不可以出现this关键字的。

甲方使用外包真的能节约成本吗?

语&#xff1a;外包作为一种常见的业务模式&#xff0c;被广泛应用于各行各业。然而&#xff0c;甲方在选择外包时&#xff0c;是否真的能够实现成本节约呢&#xff1f;本文将从多个角度进行探讨。 正文&#xff1a; 降低人力成本&#xff1a;外包通常是将某些业务环节或项目交…

2022年全国英烈纪念设施数据,各区县均有!

中国是一个拥有悠久历史和灿烂文化的国家&#xff0c;其英烈纪念设施承载着中国人民对为国家独立、民族解放和民主进步而英勇斗争的先烈们的崇敬和缅怀之情。 这些设施不仅是中国革命历史和先烈精神的重要载体&#xff0c;也是传承红色文化、弘扬革命精神的重要场所。 今天分享…