【性能测试】服务器常用的性能指标总结,一文概全...
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
压测过程中,我们除了需要关注客户端的pqs、并发量等指标外,还需要密切关注服务器资源相关的指标,例如:cpu使用率、内存使用率等。
下面介绍服务器常用的性能指标:
1、CPU使用率
CPU使用率代表程序占用的CPU资源,CPU使用率 = 1 - CPU空闲时间/总CPU时间,在性能测试中,CPU使用率是个非常重要的指标。
细分为如下指标:
用户态(user):用户程序运行时间占比。当该值很高时,说明用户程序处理时间过长,需要优化代码
系统态(sys):系统程序运行时间占比。当该值很高时,说明内核使用时间过长,需要排查系统是否存在频繁调度、线程进程是否频繁切换等
IO等待态(io wait):系统等待IO的时间占比。当该值很高时,说明程序等待IO(网络、磁盘)的时间过长,需要从程序异步,或网络方面排查
空闲态(idle):空闲状态的时间占比
整体CPU使用率可以使用 1 - idle(率)来计算。在平时的压力测试中,如果用户态 + 系统态 > 50% 就应该引起关注。
2、系统平均负载
系统平均负载是指在单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也可理解为平均活跃进程数。
可运行状态进程:处于等待和正在运行的进程(注:处于等待的进程也算)
不可中断状态进程:处于内核流程中的进程,不可被打断,例如:IO响应等
系统平均负载,使用top,uptime等命令都会显示 load average 过去 1分钟、5分钟、15分钟的平均负载。
load average 1 分钟 > 5分钟 > 15分钟(例如:10.00 5.00 1.00),表明系统平均负载变大load average 1 分钟 < 5分钟 < 15分钟(例如:1.00 5.00 10.00),表明系统平均负载变小load average 1分钟 5分钟 15 分钟 三个数基本相同,系统负载处于平稳的状态
如何判断系统平均负债是否过高?
系统平均负载和cpu个数有关。
例如:系统平均负载为2,当系统2个CPU时,CPU利用率为100%;当系统1个CPU时,说明有一个进程竞争不到CPU;当系统4个CPU时,则CPU利用率为50%
可使用lscpu等命令查看cup个数,命令使用
一般来说当系统平均负载高于 70% 时,就需要关注CPU使用情况了,当平均负载过高时,系统进程响应变慢,影响正常服务
系统平均负载和CPU使用率的异同:
相同点:系统平均负载和CPU使用率都可用于评估CPU的使用情况
不同点:系统平均负载不仅包括正在使用CPU的进程,还包括等待CPU和等待IO的进程
oCPU密集型:平均负载和CPU使用率一致(同高同低)。
oIO密集型:平均负载高,但CPU使用率不一定高(可能在等待IO)。
3、内存使用率
内存相对于磁盘速度快,用于存储进程频繁使用的数据。内核在内存中划分出更高速的cached和buff区域,用于存放需要更频繁读完的文件数据和块设备信息等。
内存使用往往关注如下指标:
系统总内存:顾名思义,系统能使用的总内存的大小
系统已使用内存:等于 系统总内存 - 空闲内存,注:系统已使用内存包含 cached和buff区域。
系统内存使用率:系统已使用内存/系统总内存
如何判断系统内存使用率过高?
一般来说,系统内存使用率 大于 70%,就需要关注系统内存使用情况了,当内存使用过高,容易出现内存不足内存泄漏等问题。
4、磁盘使用率
磁盘使用率也是性能中的一个重要指标,可以使用iostat命令查看磁盘使用情况,具体命令使用后面讲解,iostat命令输出中有个字段util%表示周期内IO非空闲比例。
如何判断系统磁盘使用率过高?
iowait率(CPU等待IO)大于 50%,表明CPU有大量时间在等待IO
util率 大于 70%,表明磁盘使用过于频繁
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)
不要害怕孤独和寂寞,因为它们会让你更清楚地认识自己。因此,请独立思考、勇敢行动、坚韧不拔,用实际行动证明自己的价值,赢得他人的尊重和认可!
时间无法停留,但我们可以选择怎样度过每一分钟。因此,请珍惜时间,勤奋努力,用心去体验生活,不断丰富自我,让自己成为一个有价值的人!
每一次的挫败都是通往成功的必经之路,因此,请将失败视为一种宝贵的财富,从中吸取经验教训,坚持不懈地攀登高峰,总有一天你会摘取梦想中的星星!
相关文章:
【性能测试】服务器常用的性能指标总结,一文概全...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 压测过程中&#…...
Vue学习笔记-Vuex基本使用
基本使用 初始化数据、配置actions、mutations,操作文件/store/index.js //index.js文件用于创建Vuex中最为核心的store对象 import Vue from vue import Vuex from vuex Vue.use(Vuex) //actions对象用于响应组件中的动作,专门负责业务逻辑 const actions {//函数…...
vue3中的customRef创建一个自定义的 ref对象
customRef 创建一个自定义的 ref,并对其依赖项跟踪和更新触发进行显式控制 小案例: 自定义 ref 实现 debounce <template><div style"font-size: 14px;"><input v-model"text" placeholder"搜索关键字"/><…...
动态规划学习——子序列问题
目录 编辑 一,最长定差子序列 1.题目 2,题目接口 3,解题思路及其代码 一,最长定差子序列 1.题目 给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列…...
使用 COPY 加速 PostgreSQL 批量插入
文章目录 1.copy命令介紹2.copy vs insert的优势3.测量性能4.结论 1.copy命令介紹 PostgreSQL 中的命令COPY是执行批量插入和数据迁移的强大工具。它允许快速有效地将大量数据插入表中。 COPY命令为批量插入和数据迁移提供了更简单且更具成本效益的解决方案。 可以避免使用诸…...
plotneuralnet和netron结合绘制模型架构图
plotneuralnet和netron结合绘制模型架构图 一、plotneuralnet 本身的操作 模型结构图的可视化,能直观展示模型的结构以及各个模块之间的关系。最近借助plotneuralnet python库(windows版)绘制了一个网络结构图,有一些经验和心得…...
MYSQL 中如何导出数据?
文章目录 前言MySQL 导出数据使用 SELECT ... INTO OUTFILE 语句导出数据SELECT ... INTO OUTFILE 语句有以下属性:导出表作为原始数据导出SQL格式的数据将数据表及数据库拷贝至其他主机 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:…...
GPT-4惨遭削弱,偷懒摸鱼绝不多写一行代码,OpenAI已介入调查
GPT-4再次遭网友“群攻”,原因是“懒”得离谱! 有网友想在Android系统开发一个能够与OpenAI API实时交互的应用。 于是把方法示例链接发给GPT-4,让它参考用Kotlin语言编写代码: 没成想,和GPT-4一来二去沟通半天,GPT-4死活给不出…...
CSS特效020:涌动的弹簧效果
CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…...
系列五、Spring整合MyBatis不忽略mapper接口同目录的xxxMapper.xml
一、概述 默认情况下maven要求我们将xml配置、properties配置等都放在resources目录下,如果我们强行将其放在java目录,即将xxxMapper.xml和xxxMapper接口放在同一个目录下,那么默认情况下maven打包时会将这个xxxMapper.xml文件忽略掉…...
第454题.四数相加II
力扣题目链接 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 分析: 当需要判断一个元素是…...
RabbitMQ消息队列
简介 MQ(message queue),从字面意思上看就个 FIFO 先入先出的队列,只不过队列中存放的内容是 message 而已,它是一种具有接收数据、存储数据、发送数据等功能的技术服务。 作用:流量削峰、应用解耦、异步处理。 生产者将消息发送…...
ModBus电表与RS485电表有哪些区别?
在能源计量领域,ModBus电表和RS485电表是两种常见的设备,它们都具有监测和记录电能数据的功能。然而,它们之间存在一些区别,比如通信协议、连接方式、数据格式等等参数的区别有哪些? ModBus电表和RS485电表都是用于电能…...
vue项目运行时,报错:ValidationError: webpack Dev Server Invalid Options
在运行vue项目中,遇到报错:ValidationError: webpack Dev Server Invalid Options,如下图截图: 主要由于vue.config.js配置文件错误导致的,具体定位到proxy配置代理不能为空,导致运行项目报错,需…...
书摘:C 嵌入式系统设计模式 02
本书的原著为:《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》,讲解的是嵌入式系统设计模式,是一本不可多得的好书。 本系列描述我对书中内容的理解。 结构化编程将软件组织成两个截然不同的…...
排序算法基本原理及实现1
📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 📑插入排序 Ǵ…...
Unity 轨道展示系统(DollyMotion)
DollyMotion 🍱功能展示🥙使用💡设置路径点💡触发点位切换💡动态更新路径点💡事件触发💡设置路径💡设置移动方案固定速度方向最近路径方向 💡设置移动速度曲线 传送门 &a…...
优维低代码实践:搜索功能
优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 优维…...
C# ReadOnlyRef Out
C# ReadOnly ReadOnly先看两种情况1.值类型2.引用类型 结论 Ref Out ReadOnly官方文档 ReadOnly 先看两种情况 1.值类型 当数据是值类型时,标记为Readonly时,如果再次设置值,会提示报错,无法分配到只读字段 public class A {pri…...
linux 服务 下 redis 安装和 启动
官网下载 https://redis.io/download/ 安装步骤: 1.安装redis 所需要的依赖 yum install -y gcc tcl2.上传安装包并解压,下载安装包,上传到/usr/local/src目录,解压 tar -zxvf redis-7.2.3.tat.gz进入安装目录,运行…...
别只拿PotPlayer看片了!挖掘它的采集录制功能,做Switch游戏存档大师
别把PotPlayer当普通播放器!解锁它的Switch游戏录制黑科技 你是否已经厌倦了在OBS、Bandicam等专业录制软件中反复调试参数的繁琐?是否想过那个每天用来看视频的PotPlayer,其实隐藏着令人惊喜的游戏录制能力?今天,我们…...
MySQL GROUP BY 原理与优化
我刚工作的时候,有次统计每个用户的订单总金额,写了 SELECT user_id, SUM(amount) FROM orders GROUP BY user_id,结果执行了 60 秒还没出结果。DBA 帮我一看执行计划,发现没走索引,导致 Using temporary(用…...
荣耀出征官方网站下载正版手游 翅膀养成细节玩法全方位讲解
玩荣耀出征的玩家都清楚,翅膀不仅是角色的颜值象征,更是提升整体战力的核心途径。很多新手玩家只顾着升级、刷装备,完全忽略翅膀养成,导致等级很高但战力始终上不去。还有不少玩家胡乱合成、盲目进阶,浪费了大量稀有翅…...
1901-2022年中国气温变化分析实战:用这份1km栅格数据我们能发现什么?
1901-2022年中国气温变化分析实战:如何从1km栅格数据中挖掘气候演变规律当一份覆盖122年、分辨率精确到1公里的气温栅格数据摆在面前时,我们看到的不仅是数字矩阵,更是一部写在经纬度坐标里的气候变迁史诗。这份由逐月数据聚合生成的逐年气温…...
【C语言】C 语言为什么叫 C 语言呢?
【C语言】C 语言为什么叫 C 语言呢?笔记改自于王道训练营资料 其实是因为先有高级语言ALGOL 60,简称 A 语言,后来经过简化,变为 BCPL 语言,简称 B 语言,而 C 语言是在 B 语言的基础之上发展而来的ÿ…...
3分钟搞定专业短视频!Pixelle-Video终极AI创作指南
3分钟搞定专业短视频!Pixelle-Video终极AI创作指南 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 还在为视频制作发愁吗&am…...
英雄联盟回放播放难题终极解决方案:ROFLPlayer完整使用指南
英雄联盟回放播放难题终极解决方案:ROFLPlayer完整使用指南 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为英雄联盟旧…...
浏览器端音频解密技术:如何让加密音乐在本地重获新生?
浏览器端音频解密技术:如何让加密音乐在本地重获新生? 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目…...
摆脱论文困扰!2026年最值得拥有的专业AI智能降重工具
2026年论文降AI率工具已从“基础改写”升级为多维度智能优化系统,核心评价维度涵盖AI生成内容识别精度、语义逻辑一致性、学术格式合规性、查重适配能力及多语言处理水平。本次测评覆盖6款主流工具,测试场景包括中文与英文论文、全流程与专项功能、免费与…...
QuickDraw MediaPipe手势识别:无需画笔的手势控制绘画应用
QuickDraw MediaPipe手势识别:无需画笔的手势控制绘画应用 【免费下载链接】QuickDraw Implementation of Quickdraw - an online game developed by Google 项目地址: https://gitcode.com/gh_mirrors/qu/QuickDraw QuickDraw MediaPipe手势识别是一款创新…...
