首页 > 其他分享 >性能测试-分析CPU瓶颈

性能测试-分析CPU瓶颈

时间:2023-05-27 13:12:38浏览次数:32  
标签:测试 瓶颈 内存大小 cpu 内存 IO 磁盘 CPU

top

键盘上敲1:显示CPU的核数,总共多少个CPU核

 

Cpu(s)
  • us:用户总的CPU占用率  高于80%就需要进行分析了
  • sy:系统总的CPU
  • ni:改变过优先级的进程占用CPU的百分比
  • id:空闲CPU百分比 (一般us+ni+id应该接近于100%)
  • wait:IO等待占用CPU的百分比
  • hi&si:处理中断消耗的时间。硬中断占用CPU的百分比;软中断占用CPU的百分比
  • wa:CPU等待的一个百分比

每个ID具体的CPU、内存、时间、命令的占用情况

 

  vmstat 可以分析内存、磁盘IO、cpu 参数: 第一个参数:时间间隔,单位是秒 第二个参数:采样次数 vmstat 2 10 以下表示每隔2s采集一次状态,共采集10次

-a:memory下的buff和cache会变成inact和active

 

  • procs 使用内存IO的进程统计
    • r:获取了IO资源而等待cpu运行的进程数目,如果这个值持续较高,说明可能cpu资源不足
    • b:处于不可中断状态,cpu已经运行完,等待IO资源在阻塞队列中的进程数目,如果这个值长时间大于1,则需要关注一下
  • memory 内存大小相关统计,单位是k
    • swpd:交换区被用掉的大小,也就是被用掉的虚拟内存大小
    • free:空闲的内存大小,剩下的完全没有被分配的内存大小。这个值比较小不一定会有问题,会释放buff/cache。还需要看swpd,内存不够的时候会开始用swpd,如果swpd不为0或者还比较大,但是swap的si so长期为0,也不会影响性能
    • buff:被用作buffer缓冲区的大小,即将写入磁盘的缓冲区大小,比如write系统调用的时候,系统不会马上写入磁盘,会先缓冲到buffer中然后在合适的时候写入磁盘
    • cache:被用作cache文件系统缓存的大小,从磁盘中读取的缓存大小
    • inact:非活跃的内存大小,被标明可回收的内存。系统可以使用的内存大小为free+inact,如果这个和持续下降,需要考虑是不是有内存泄漏的情况
    • active:活跃的内存大小
  • swap 交换分区的使用情况
    • si:每秒从交换区写入内存的大小,单位是kB/s
    • so:每秒从内存中写入交换区的大小,单位是kB/s
如果这两个值长期大于0,性能会受影响,磁盘IO和CPU资源都会被消耗
  • io 块设备IO统计(磁盘属于块设备)
    • bi:每秒从块设备读入内存的大小(从磁盘读),单位是kB/s
    • bo:每秒从内存中写入块设备的大小(写磁盘),单位是kB/s
  • system 操作系统中断和上下文切换统计
    • in:操作的系统每秒触发的中断数目
    • cs:操作系统每秒上下文切换次数(用户态和系统态或者系统态到用户态的切换)
这两个值越大,会看到由内核消耗的cpu时间sy会越多 调用系统函数的时候,就要进行上下文切换,线程的切换,进程的上下文切换,所以要越小越好,如果太大了,需要考虑调低线程或者进程的数目
  • cpu cpu的相关统计
    • us:用户态代码执行占用的cpu时间
    • sy:系统态代码执行占用的cpu时间
    • id:cpu空闲时间,也就是执行系统idle的时间,cpu是不允许停机的
    • wa:耗费在等待IO上的时间
    • st:其他的等待时间
场景
  1. 场景1:swpd大小不断变化,si/so持续变化,说明内存在频繁进行交换,内存不足,磁盘IO和cpu都会被消
  2. 场景2:如果cpu的id较高,但是free非常低,再加上-a参数free+inact非常低,内存可能被耗尽了
  3. 场景3:wa较高,b也高,可能IO阻塞
  4. 场景4:如果r经常大于4,且id经常少于40,表示cpu负荷比较重
  5. 场景5:如果r大于cpu个数的4倍,可能cpu资源不足,或者cpu的速率低,导致多数进程在等待cpu,造成系统进程运行过慢
  6. 场景6:如果id持续为0且sy是us的两倍,则可能cpu资源不足
  7. 场景7:wa建议<25%,如果超过了之后可以用iostat再进行查看,可能磁盘系统的原因

标签:测试,瓶颈,内存大小,cpu,内存,IO,磁盘,CPU
From: https://www.cnblogs.com/ttwx/p/17436600.html

相关文章

  • Web安全透测试 掌握绝大多数Web漏洞原理及防手段-鸿雁长飞光不度
    Web安全渗测试掌握绝大多数Web漏洞原理及防手段download:3w51xuebccom使用Netty和SpringBoot实现仿微信的示例在本文中,我们将使用Netty和SpringBoot框架来创建一个简单的聊天应用程序,类似于微信。这个应用程序将支持多用户聊天和即时消息发送。下面让我们来一步步看看如何实现......
  • 性能测试-分析网络瓶颈
    机器出入口网络流量压测机-----》某服务1-------》某服务2压测机是客户端:压测机上监控请求-------send压服务1是服务端:服务1机器上监控接收从压测机过来的请求-------receive1;往服务2发送请求---------send1服务2是服务端:服务2机器上监控接收从服务器过来的请求-------rec......
  • 性能测试-分析TCP连接数
    TCP连接数TCP连接数对应的是网络IO,也就是网络数据传输的输入输出。TCP连接是一种面向连接的协议,它通过建立连接来保证数据传输的可靠性和完整性。在建立TCP连接时,会进行三次握手,建立连接后,数据的传输就可以进行了。TCP连接数的增加会导致网络IO的增加,因为每个TCP连接都需要进行......
  • 性能测试-分析磁盘瓶颈
    iostat查看磁盘IO使用情况分析磁盘IO的性能,看读写性能,延迟和吞吐量等iostat参数:-c:仅显示cpu统计信息,与-d互斥-d:仅显示磁盘统计信息,与-c互斥-k:以KB单位显示,默认选项-m:以MB单位显示iostat-k25 avg-cpu:总体cpu的使用情况,如果是多核cpu,显示就是所有cpu的平均值%u......
  • 性能测试-分析内存瓶颈
    top或者free查看内存利用率看used的值有没有很高(一般持续超过70%就会认为可能有瓶颈)看buff/cache的值,通常情况比较大不是什么问题,如果系统需要更多内存时,buff/cache就会自动释放,但是如果占用了大量内存导致系统无法分配足够的内存给其他进程使用,就需要再分析和优化 top......
  • 报文常用测试工具-----IPOP V4.1
    摘自:https://blog.csdn.net/weixin_40013461/article/details/126368274下载地址:http://y.downyagt.com:7658/down4/hwipgj_downyi.com.zip1.1、IPOP简介IPOP软件是一个华为IP工具的集合,最原始的功能是IP地址动态绑定,后续在此基础上不断的进行了扩充,就形成了现在的版本。IPOP是......
  • HPL测试的配置(依赖于BLAS),通过OpenMpi进行实现
    1.1虚拟机的配置1.1.1Linux光盘映像文件由于对于Ubuntu系统更为熟悉,所以选择了最新版的Ubuntu系统作为Linux发行版。1.1.2Hypervisor由于之前一直使用VMware,对其中操作熟悉,因此选择VMware作为Hypervisor1.2搭建集群并安装相关程序1.2.1创建虚拟机以上为虚拟......
  • 软件测试职业生涯需要编写的全套文档模板,收藏这一篇就够了(附文档模板及视频)~
    作为一名测试工程师,在整个的职业生涯中,会涉及到各种不同类型的文档编写,大体包括如下:对应文档模板及文档编写视频如下:  一、测试岗位必备的文档在一个常规的软件测试流程中,会涉及到测试计划、测试方案、测试用例、测试报告的编写,这些文档也是软件测试岗位必须掌握的文档类......
  • 自动化测试-基础知识—Bash基础
    Bash在Bash中,美元符号$可以用于引用变量或者表达式的值。Bash中的变量并不需要事先声明,而是在第一次赋值时自动创建。基于这个特性,我们可以通过给变量名加上$的方式来引用它的值,比如$var表示引用变量var的值。在Bash中,使用$还有其他一些常见的用法,例如:$0:表示执......
  • ARM Cortex-A72 CPU All In One
    ARMCortex-A72CPUAllInOneRaspberryPi4B,BCM27114核心1.5GHz64位CPU/RaspberryPi4B,BCM27114核心1.8GHz64位CPUCortex-A72https://developer.arm.com/Processors/Cortex-A72https://developer.arm.com/documentation/100095/0003/Introduction/A......