性能测试的几个指标范围(CPU,内存,IO,网络)

news2024/12/29 11:08:42

性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。

后端性能指标有 CPU,内存,网络,jvm,I/O 等等

分析思路

整体系统 CPU 利用率

内存利用率

磁盘 I/O 的利用率和延迟

网络利用率

CPU 瓶颈分析

监控命令:vmstat、sar、dstat、mpstat、top、ps

类型度量方法衡量标准
利用率1、vmstat 统计 1-%id
2、sar -u 统计 1-%idle
3、dstat 统计 1-%idle
4、mpstat -P ALL 统计 1-%idle
user%+sys%<70%(好)
70%<user%+sys%<=85%(坏)
负载1、vmstat 的 r 值
2、sar -q ,“runq-sz”
3、load average
4、pidstat -p【pid】-w 1 10
r 长期>cpu 个数,cpu 不足
runq-sz 长期>cpu 个数,cpu 不足
load average>cpu 内核数(cpu 繁忙)
nvcswch/s 较大,cpu 时间片不足

内存瓶颈分析

物理内存不够时就会使用 swap 分区,所以性能测试过程中需要关注 swap 和 mem 的使用情况。物理内存不够,大量的内存置换到 swap 空间,可能导致 CPU 和 I/O 的瓶颈。

监控命令:vmstat、sar、dstat、free、top、ps

网络定位分析

监控命令:sar、ifconfig、netstat,以及查看 net 的 dev 速率。

通过查看发现收发包的吞吐率达到网卡的最大上限,网络数据报文有因为这类原因而引起的丢包、阻塞等现象都证明当前网络可能存在瓶颈。

为了减小网络对性能测试的影响,一般我们都在局域网中进行测试执行。

IO 定位分析

I/O 的 TPS、平均 I/O 数据、平均队列长度、平均服务时间、平均等待时间、IO 利用率(磁盘 Busy Time%)等指标
监控命令:sar、iostat、iotop

cpu 瓶颈分析思路

cpu 有没有正常工作

1:top 看 CPU 负载,vmstat 看 CPU 利用率。下面三种情况说明 cpu 没有正常工作,需要看 cpu 在做什么
1)负载过高,利用率过低
2)负载过低,利用率过高
3)负载过低,利用率也低

cpu 在做什么

1:vmstat 看 in 和 cs 是否过高,如果过高,说明中断和上下文切换频繁


2:vmstat 看 usr 和 sys 百分比。
1)如果 sy 百分比过高,说明 cpu 大部分时间花在了内核的系统调用
2)如果 us 百分比过高,说明 cpu 大部分时间花在了代码执行


3:vmstat 看运行队列
1)运行队列 r 值远超 cpu 数,说明 cpu 负载过高
2)b 值过高,说明大量进程处于 IO 等待,IO 可能存在瓶颈

为什么 cpu 不正常工作

1:pidstat -p【pid】-w 1 10 看进程的主动和被动切换。

1)如果主动切换(cswch/s)过高,说明可能 IO,内存资源可能不足
2)如果被动切换(nvcswch/s)过高,说明进程过多,cpu 时间片不足

2:watch -d cat /proc/interrupts 查看系统中断

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

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

相关文章

C# If与Switch的区别

在 switch 语句中使用表达式比较时&#xff0c;编译器会生成一个查找表&#xff0c;其中包含所有表达式的值和对应的 case 标签。因此&#xff0c;与使用常量或字面量比较相比&#xff0c;使用表达式比较可能会略微降低性能。 只有当 switch 语句中的所有 case 标签都使用常量或…

AI:136-基于深度学习的图像生成与风格迁移

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

提升装备制造企业竞争力:2023年CRM选型与应用完全解读

在加快产业转型升级的大背景下&#xff0c;高端装备制造业既面临机遇也面临挑战。随着公司规模的不断壮大&#xff0c;再加上装备制造业营销体系及服务体系管理体系的复杂性&#xff0c;一些问题逐渐暴露出来&#xff0c;装备制造业企业需要根据自身业务需求和管理流程选择合适…

C++初阶:容器适配器priority_queue常用接口详解及模拟实现、仿函数介绍

介绍完了stack和queue的介绍以及模拟的相关内容后&#xff1a;C初阶&#xff1a;容器适配器介绍、stack和queue常用接口详解及模拟实现 接下来进行priority_queue的介绍以及模拟&#xff1a; 文章目录 1.priority_queue的介绍和使用1.1priority_queue的初步介绍1.2priority_que…

k8s-helm部署应用 19

Helm部署nfs-client-provisioner&#xff08;存储类&#xff09;&#xff1a; 预先配置好外部的NFS服务器 部署 Helm部署nginx-ingress应用&#xff1a; 添加下载ingress 拉取 解开并修改 部署 测试 回收 helm部署metrics-server&#xff1a; 清除之前的metrics部署 下载…

QT问题 打开Qt Creator发现没有菜单栏

之前不知道按了什么快捷键,当我再次打开Qt Creator时发现菜单栏消失啦 找了许多原因发现:安装有道词典的快捷键Ctrl Alt m 与Qt Creator里的快捷键冲突导致菜单栏被莫名其妙的隐藏 解决方法: 1找到有道词典快捷键 2再次按快捷键 Ctrl Alt m就可以重新显示菜单栏

Linux系统——nginx服务补充

目录 一、Nginx调优补充 1.验证模块——登录 1.1htpasswd 1.1.1htpasswd -c——交互式 1.1.2htpasswd -b——免交互式 2.自定义错误页面 2.1设置错误页面——想让客户端看到的页面 2.2自定义错误码 3.日志位置存放&#xff08;可以自定义存放位置&#xff09; 4.检测…

零基础手把手教你创建微信小程序(二)·创建第一个微信小程序以及了解小程序代码的构成

零基础手把手教你创建微信小程序&#xff08;一&#xff09;微信小程序开发账号的注册以及开发者工具的安装和使用-CSDN博客 目录 ​编辑 1. 创建微信小程序 1.1 基本信息 1.2 在模拟器上查看项目效果 1.3 在真机上预览项目效果 1.4 主界面的5个组成部分 1.4.1 菜单…

华为HCIP Datacom H12-831 卷23

单选题 1、某园区部署IS-IS实现网络互通&#xff0c;在所有IS-IS路由器的进程中配置命令flash-flood 6 max-timer-interval 100 Leve1-2&#xff0c;则以下关于该场景的描述,正确的是哪—项? A、若某IS-IS路由器LSDB内更新的LSP数量为5,则在100毫秒内且路由计算完成前&#…

对象怎样才会进入老年代?

JVM 对象内存分配&#xff1a;空间担保机制案例演示&#xff1a;对象分配过程01-大对象直接进入老年代02-对象内存分配的过程&#xff1a;案例演示&#xff1a;内存担保机制 对象内存分配&#xff1a; 新生代&#xff1a;新对象大多数都默认进入新生代的Eden区进入老年代的条件…

盲盒小程序开发:线上盲盒带来的发展

盲盒在我国的发展一直处于稳步上升阶段&#xff0c;盲盒的未知性和刺激性为消费者带来了全新的娱乐消费模式。并且盲盒具有的收藏价值也吸引着消费者进行复购&#xff0c;使消费者欲罢不能。在盲盒的不断创新发展&#xff0c;形成了一套可持续发展的商业模式&#xff0c;具有较…

企业微信怎么变更企业名称?

企业微信变更主体有什么作用&#xff1f;现在很多公司都用企业微信来加客户&#xff0c;有时候辛辛苦苦积累了很多客户&#xff0c;但是公司却因为各种各样的原因需要注销&#xff0c;那么就需要通过企业微信变更主体的方法&#xff0c;把企业微信绑定的公司更改为最新的。企业…

并发编程(4)共享模型之无锁

6 共享模型之无锁 本章内容 CAS 与 volatile原子整数原子引用原子累加器Unsafe 6.1 问题提出 有如下需求&#xff0c;保证 account.withdraw 取款方法的线程安全 import java.util.ArrayList; import java.util.List;interface Account {// 获取余额Integer getBalance();…

spring框架介绍

spring 1.优点 1&#xff09;针对接口编程&#xff0c;解耦合 2&#xff09;aop&#xff1a;变向切面编程&#xff0c;动态增加功能 3&#xff09;方便集成框架&#xff0c;mybatis,hibernate,strust等 4&#xff09;降低j2ee接口的使用难度 2.spring是干什么的 管理bean及bean…

私域运营-需要认清的事实

一、私域不能单纯依靠微信渠道 误区&#xff1a;很多企业仍停留在如何让用户在微信去分享裂变&#xff0c;然后带动新用户的阶段。 私域的核心在于“开源节流”&#xff0c;就是如何通过更多渠道获取更多客户&#xff0c;并且避免客户的批量流失。 私域讲究的是如何从公域的“…

【IDEA】安装Jrebel实现热部署

前言 devtool虽然也可以实现热部署 但是新增完方法和修改完参数后 热部署不生效 需要重启 而Jrebel却不用 功能也比devtool强大 但是收费 这里教大家怎么使用 插件下载 激活Jrebel

Qiskit模块介绍

中文版reference Terra Qiskit最基本的模块&#xff0c;相当于Qiskit包的前端&#xff0c;包含了Quantum Circuits、Transpiler等,包括了定义、编译量子电路&#xff0c;以及在模拟器或是量子设 备上运行电路的工具。 Aer 相当于Qiskit包的后端&#xff0c;高性能模拟器&…

DC与DCT DCG的区别

先进工艺不再wire load model进行静态时序分析&#xff0c;否则综合结果与后端物理电路差距很大&#xff0c;因此DC综合工具也进行了多次迭代&#xff0c;DC工具有两种模式&#xff0c;包括wire load mode和Topographical Mode&#xff0c;也就是对应的DC Expert和DC Ultra。 …

牛客网 HJ10 字符个数统计

思路&#xff1a; 我们创建两个数组&#xff0c;一个数组接受输入的字符&#xff0c;另一个数组用来统计字符种数 同时将该字符作为下标传给另一个数组&#xff0c;如果另一个数组的这个下标对应的值为0&#xff0c;说明该字符没有被统计过&#xff0c;计数器加1&#xff0c;…

vue+node.js美食分享推荐管理系统 io551

&#xff0c;本系统采用了 MySQL数据库的架构&#xff0c;在开始这项工作前&#xff0c;首先要设计好要用到的数据库表。该系统的使用者有二类&#xff1a;管理员和用户&#xff0c;主要功能包括个人信息修改&#xff0c;用户、美食类型、美食信息、订单信息、美食分享、课程大…