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.hqwc.cn/news/210552.html

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

相关文章

词向量笔记

一、词向量的世界排名比赛MTEB MTEB: Massive Text Embedding Benchmark 二、词向量的维数 词向量的维数d1一般取20~500之间 三、向量索引SOTA 构建向量索引,就用这个吧:hnsw

【MySQL】宝塔面板结合内网穿透实现公网远程访问

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cpo…

springcloud宿舍管理系统源码

开发技术: jdk1.8,mysql5.7,idea,vscode springcloud springboot mybatis vue elementui 功能介绍: 用户端: 登录注册 首页展示轮播,公告,报修,晚归登记&#xff0…

安卓手机便签APP用哪个,手机上好用的便签APP是什么

在日常生活及工作方面,总是有许多做不完的事情需要大家来处理,当多项任务堆叠交叉在一起时,很容易漏掉一些项目,这时候大家会借助经常携带的手机来记录容易忘记的事情,如手机上的闹钟、定时提醒软件都可以用来记录待办…

2023.11.22 IDEA Spring Boot 项目热部署

目录 引言 操作步骤 1. 在 pom.xml 中添加热部署框架支持 2. Setting 开启项目自动编译 3. 以后创建的新项目进行同步配置 4. 重复 配置 步骤2 的内容 5. 开启运行中的热部署 引言 Spring Boot 的热部署是一种在项目正在运行的时候修改代码,却不需要重新启动…

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

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

HarmonyOS 属性动画开发示例(ArkTS)

介绍 利用 ArkUI 组件不仅可以实现属性变化引起的属性动画,也可以实现父组件状态变化引起子组件产生动画效果,这种动画为显式动画。效果如图所示: 相关概念 显式动画:提供全局 animateTo 显式动画接口来指定由于闭包代码导致的…

算法复杂度分析

文章目录 有数据范围反推算法复杂度以及算法内容一般方法递归 有数据范围反推算法复杂度以及算法内容 c一秒可以算 1 0 7 10^7 107~ 1 0 8 10^8 108次 一般方法 看循环 有几层循环就可以初步分析O( n i n^i ni) 双指针算法除外O(n) 递归 公式法 根据公式的形式&#xff0…

服务号可以迁移到订阅号吗

服务号和订阅号有什么区别?服务号转为订阅号有哪些作用?首先我们要看一下服务号和订阅号的主要区别。1、服务号推送的消息没有折叠,消息出现在聊天列表中,会像收到消息一样有提醒。而订阅号推送的消息是折叠的,“订阅号…

TikTok美区本土店铺如何做好IP隔离?

为什么要进行IP隔离呢?因为我们无法在国内直接运营Shopee、TikTok、Lazada等平台的本土店,平台识别出店铺登录IP非本土IP,则容易导致店铺风控、被标记为伪本土店,影响店铺经营。 TikTok美区店铺的IP隔离方法和Shopee本土店一致&a…

分页符 分页

【插入】---【分页符】 目录和一级标题得新起一页

亚马逊智能机器人Astro新升级!可为中小企业提供巡逻服务

原创 | 文 BFT机器人 Astro是Amzon近年来推出的一种新型的家用机器人,由智能助手Alexa驱动,主要用于家庭监控,如检查炉子、水龙头是否开着,以及其他任务。它将人工智能、计算机视觉、传感器技术以及语音和边缘计算方面的新进展汇…