jmeter性能压测的标准和实战中会遇到的问题

news2024/11/27 9:35:52

1.性能标准建议
CPU 使用率:不超过 70%
内存使用率:不超过 70%
磁盘:%util到达80%严重繁忙
(os.disIO.filesystem.writeKbPS 每秒写入的千字节)
响应时间:95%的响应时间不超过8000ms
事务成功率:不低于95%

2.内存使用率占比70%真的就很高吗
内存占比70%是否高,取决于多个因素,包括电脑的总体内存大小、正在运行的程序数量以及这些程序的内存需求等。
如果电脑的总内存较小,比如只有2GB,那么70%的内存占用可能相对较高,因为剩余的可用内存可能不足以支持更多的任务或应用程序。然而,如果电脑的总内存较大,比如8GB或更多,那么70%的内存占用可能并不算高,因为还有足够的可用内存来支持其他任务或应用程序。
此外,如果电脑正在运行一些内存需求较高的程序,比如大型游戏、专业软件或虚拟机等,那么70%的内存占用也可能是正常的。这些程序通常需要更多的内存来确保流畅的运行和性能。
因此,要判断70%的内存占用是否高,需要结合具体情况来看。如果电脑运行正常,没有出现卡顿、延迟或其他问题,那么通常不需要过于担心内存占用率。如果电脑出现性能问题,可以考虑优化内存使用,比如关闭不必要的程序、清理内存缓存等。
另外,需要注意的是,即使内存占用率达到了70%,也不意味着电脑的内存已经耗尽。因为操作系统通常会使用一些内存作为缓存,以提高文件访问速度等性能。因此,即使内存占用率较高,也不一定会对电脑的性能产生负面影响。

3.压测过程中发现并发数高,CPU使用反而低了
在某些情况下,增加并发数可能会导致CPU使用率降低的原因有几种可能:
a.并行处理优化:增加并发数可能会促使系统更有效地利用多核处理器或多线程处理能力。这意味着任务可以分配到多个核心上并行执行,从而减少了单个核心的负载,降低了整体CPU使用率。
b.I/O密集型任务:如果并发任务主要是I/O密集型的,例如文件读写、网络请求等,增加并发数可能会减少每个任务的等待时间,从而减少了CPU在等待I/O完成时的空闲时间。
c.减少竞争:增加并发数可以减少任务之间的竞争,特别是在共享资源的情况下(如锁),这可能会减少因竞争而导致的CPU使用率上升。
d.任务分配策略:优化的任务调度和分配策略可以确保系统更有效地管理并发任务,避免了资源浪费和竞争,从而降低了CPU负载。
需要注意的是,并不是所有情况下增加并发数都会导致CPU使用率降低。如果并发任务是CPU密集型的,即任务需要大量计算而不涉及大量I/O操作,增加并发数可能会增加CPU负载。因此,在设计系统时,需要根据任务的性质和系统的资源进行适当的调整和优化。

4.如何找到性能并发拐点
阶梯压测,找到最大并发用户数区间,在最大并发用户数区间,来缩小固定的一个递增步长
在这里插入图片描述
在这里插入图片描述

5.终止标准
终止标准:
响应时间:95%的响应时间超过8000ms
事务成功率:事务成功率超过95%
服务器负载:CPU或内存出现瓶颈(100%)时停止。
在这里插入图片描述

6.jmeter报错
6.1.报错:Address already in use:connest
原因:jmeter本身性能不够
解决方法:使用jdk8版本 改使用:jdk21版本+virtual thread线程插件。基本上单个压测机支持1000的并发是没有问题的
在这里插入图片描述
6.2 然后用350个并发会报错:Address already in use:getsockopt
原因:超过操作系统最大数量会报错
解决方法:改了jmeter.bat:set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=768m
(改后可以支持500,但是跑两分钟后还是会报一样的问题)
在这里插入图片描述
此时修改注册表,就可以了
第一步:电脑cmd输入regedit,可以进入如下界面:
在这里插入图片描述
第二步:新建两个 DWORD值:
name: MaxUserPort,value: 65534(十进制)
name: TcpTimedWaitDelay,value: 30(十进制)
第三步:重启系统

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

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

相关文章

计算线上点坐标

综上代码 void point_on_line(float* res, float* p, float* q, float lambda) {float tmp 1 - lambda;res[0] tmp* p[0] lambda * q[0];res[1] tmp* p[1] lambda * q[1];res[2] tmp* p[2] lambda * q[2]; }

基于SpringBoot华强北二手手机商城系统

点赞收藏关注 → 私信领取本源代码、数据库 一、项目概述 项目名称:基于SpringBoot华强北二手手机商城 项目架构:B/S架构 开发语言:Java语言 主要技术:SpringBootMybatisMySQL 运行环境:Windows7以上、JDK1.8、M…

【微服务】Nacos(配置中心)

文章目录 1.AP和CP1.基本介绍2.说明 2.Nacos配置中心实例1.架构图2.在Nacos Server加入配置1.配置列表,加号2.加入配置3.点击发布,然后返回4.还可以编辑 3. 创建 Nacos 配置客户端模块获取配置中心信息1.创建子模块 e-commerce-nacos-config-client50002…

【研发日记】Matlab/Simulink开箱报告(十一)——Requirements Toolbox

目录 前言 Requirements Toolbox 编写需求 需求联接设计 需求跟踪开发进度 追溯性矩阵 分析和应用 总结 前言 见《开箱报告,Simulink Toolbox库模块使用指南(六)——S-Fuction模块(TLC)》 见《开箱报告&#x…

弧形导轨在自动化设备中的传动原理

在自动化机械系统中,弧形导轨是一种常见的轨道结构,用于支撑和引导物体沿着指定的弧线运动。其工作原理基于几何学和物理学的原理。 弧形导轨通常由一个弧形的轨道和一个移动部件组成。轨道一般呈弧形,其几何形状可以是圆弧、椭圆弧等&#x…

JavaScript基础语法–变量

文章目录 认识JavaScript变量程序中变量的数据(记录)–变量变量的命名格式在Java script中变量定义包含两部分1. 变量声明(高级JS引擎接下来定义一个变量)2. 其他的写法 变量命名的规范(遵守)变量的练习a. …

使用 eNSP 模拟交换机防御 ARP 泛洪攻击

一、介绍 ARP(地址解析协议)泛洪攻击是一种网络攻击手法,利用 ARP 协议的工作方式来实施。ARP 协议用于将 IP 地址映射到 MAC 地址,以便在局域网中发送数据包。ARP 泛洪攻击的基本原理是向网络中广播大量伪造的 ARP 请求&#xf…

Doris实践——票务平台的实时数仓建设

目录 前言 一、引入 Doris原因 二、基于Doris搭建数据平台 2.1 构建实时数仓 2.2 Flink CDC全库同步 三、基于Doris进行OLAP报表开发 四、未来规划 原文大佬介绍的这篇票务平台的实时数仓建设有借鉴意义,现摘抄下来用作沉淀学习。如有侵权,请告知…

高效解决Visual Studio无法识别到自定义头文件

文章目录 问题解决方案 问题 说明你没有好好配置项目属性 解决方案 把头文件都集中存放到一个文件夹里 之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路…

【c++】类和对象(六)深入了解隐式类型转换

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,本篇文章我们来到初始化列表,隐式类型转换以及explicit的内容 目录 1.初始化列表1.1构造函数体赋值1.2初始化列表1.2.1隐式类型转换与复制初始化 1.3e…

Learning from Multiple Annotator Noisy Labels via Sample-wise Label Fusion

confusion matrix P n ( r ) _n^{(r)} n(r)​ pillow8.3.1和python3.7.11的环境不好满足,不建议复现

笔记: JavaSE day16笔记 - string字符串

第十六天课堂笔记 学习任务 Comparable接口★★★★ 接口 : 功能的封装 > 一组操作规范 一个抽象方法 -> 某一个功能的封装多个抽象方法 -> 一组操作规范 接口与抽象类的区别 1本质不同 接口是功能的封装 , 具有什么功能 > 对象能干什么抽象类是事物本质的抽象 &…

RocketMQ(版本4.9.4)+RocketMQ_Dashbord环境搭建(生产者、消费者的前置环境搭建)

一、官方网站下载 RocketMQ源码包 https://rocketmq.apache.org/zh/docs/4.x/introduction/02quickstart 二、把rocketMQ上传到Linux环境下解压,编译,执行以下命令(需要提前装jdk和maven并配置好环境变量) unzip rocketmq-all-4…

短视频账号矩阵系统/开发 -- -- -- 蒙太奇算法上线

短视频账号矩阵系统,短视频矩阵系统开发3年技术之路,目前已经在技术竞品出沉淀出来,近期技术迭代的新的功能同步喽: php7.4版本,自研框架,有开发文档,类laravel框架 近期剪辑迭代的技术算法&am…

Unix信号处理

信号的基本概念我已经在上一节中简单介绍了&#xff0c;大家可以去看我的上一篇博客&#xff1a; Unix中的进程和线程-2-CSDN博客 1.信号的产生 kill函数&#xff1a; #include <signal.h> #include <fcntl.h> #include<t_stdio.h> //自定义信号处理函数,n为…

深度学习算法概念介绍

前言 深度学习算法是一类基于人工神经网络的机器学习方法&#xff0c;其核心思想是通过多层次的非线性变换&#xff0c;从数据中学习表示层次特征&#xff0c;从而实现对复杂模式的建模和学习。深度学习算法在图像识别、语音识别、自然语言处理等领域取得了巨大的成功&#xf…

深入理解数据结构(3):栈和队列详解

文章主题&#xff1a;顺序表和链表详解&#x1f331;所属专栏&#xff1a;深入理解数据结构&#x1f4d8;作者简介&#xff1a;更新有关深入理解数据结构知识的博主一枚&#xff0c;记录分享自己对数据结构的深入解读。&#x1f604;个人主页&#xff1a;[₽]的个人主页&#x…

吴恩达机器学习笔记 三十一 K-means算法及优化目标 成本函数

随机初始化 K 个集群质心&#xff0c;这里设质心个数为2 第一步&#xff1a;分配点给集群质心 对 m 个 点&#xff0c;每个点对应的质心为 c(i) ,若离红色的质心近&#xff0c;则 c(i) 的值为1&#xff0c;否则为2。计算距离用的是L2范式。 第二步&#xff1a;移动集群质心 …

Verilog语法回顾--用户定义原语

目录 用户定义原语 UDP定义 UDP状态表 状态表符号 组合UDP 电平敏感UDP 沿敏感时序UDP 参考《Verilog 编程艺术》魏家明著 用户定义原语 用户定义原语&#xff08;User-defined primitive&#xff0c;UDP&#xff09;是一种模拟硬件技术&#xff0c;可以通过设计新的原…

Yolov7 Reid【附代码,行人重识别,可做跨视频人员检测】

本项目使用Yolov7Reid实现的行人重识别功能&#xff0c;可做跨视频人员检测。 应用场景&#xff1a; 可根据行人的穿着、体貌等特征的Reid算法在视频中进行检索&#xff0c;可以把这个人在各个不同摄像头出现时检测出来。可应用于犯罪嫌疑人检索、寻找走失儿童等。支持GUI界面…