【性能测试】系统常用监控- -CPU

这篇具有很好参考价值的文章主要介绍了【性能测试】系统常用监控- -CPU。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

性能测试系统常用监控- -CPU



前言

在性能测试过程中CPU负载状态是重要监控指标项,它综合反应了系统的负载情况,根据监控的各指标项可以对系统或应用进一步分析调优。


一、常用概念

  • 架构:x86(intel、AMD、海光等)、MIPS(龙芯)、ARM(飞腾、麒麟)、SW(申威),同等架构和工艺情况下,核心数越多,扩展性越好;主频越高,性能越好
    说明:一般情况下x86性能 > ARM性能 > MIPS性能,核心数越多,支撑的并发连接越多,吞吐量越大
  • NUMA
    NUMA(Non-Uniform Memory Access)非一致性内存访问
    基本特征:
    1、具有多个CPU模块,每个CPU模块由多个CPU组成,并且具有独立的本地内存,I/O槽口等。节点(模块)之间可以通过互联模块(Crossbar Switch)进行连接和信息交换,因此每个cpu可以访问整个系统的内存。减少跨核访问、跨处理器竞争冲突。
    2、访问本地资源(本地内存、I/O槽口)的速度远远高于访问远地资源(其他node的资源)的速度,但是同样存在问题就是多个node 之间的资源交互非常慢,当cpu增多的情况下,性能提升的幅度并不是很高,无法实现性能的现象增加。
    【性能测试】系统常用监控- -CPU
  • SMP
    SMP(Symmetric Multi-processing)对称多处理器
    基本特征:
    1、 服务器中多个cpu对策工作,无主次,各cpu共享相同的物理内存,每个cpu访问内存任何地址所需时间相同,也被称为一致性内存访问(UMA)。
    2、系统中所有资源 (CPU 、内存、 I/O 等 ) 都是共享的。也正是由于这种特征,导致了 SMP 服务器的主要问题,那就是它的扩展能力非常有限。对于 SMP 服务器而言,每一个共享的环节都可能造成 SMP 服务器扩展时的瓶颈,而最受限制的则是内存。
    【性能测试】系统常用监控- -CPU
  • 绑核
    设置进程的处理器亲和性,可以将进程绑定到特定的一个或多个CPU上去执行,而不允许将进程调度到其他cpu上,减少切换(软中断)从而提高性能。
taskset -pc cpulist pid

【性能测试】系统常用监控- -CPU
说明:fffff:表示进程可以在host上任何cpu运行

二、性能指标

CPU使用率:用户CPU系统CPU、IOWAIT、软中断硬中断、窃取CPU、客户CPU
上下文切换:自愿上下文切换、非自愿上下文切换
平均负载
CPU缓存命中率

三、性能分析

工具或命令:top、ps、vmwait、mpstat、sar、piestat、strace、perf、execsnoop、htop、atop

模块 类型 度量方法 衡量标准
CPU 使用情况 1.vmstat统计1-id计数,”%util”
2.sar –u统计1-%idle计数,”%util”
3.dstat统计1-idl计数
4.mpstat –P ALL统计1-%idle计数
5.ps统计cpu计数
注意>=50%
告警>=70%
严重>=90%
CPU 满载 1.vmstat的r计数 >CPU逻辑颗数
2.sar –q,”runq-sz” >CPU逻辑颗数
3.dstat –p,”run” >CPU逻辑颗数
运行队列大于1时,证明已经有一定负载,不过计数也不绝对,需进一步分析其他资源情况来判断CPU是否已经满载
CPU 错误 通过perf工具捕获处理器错误信息

四、调优方法

CPU绑定、进程CPU资源限制、中断负载均衡、CPU缓存、NUMA优化

五、常用分析

5.1 top命令解析

【性能测试】系统常用监控- -CPU
Load average:24.23, 8.27, 3.57 #过去1、5、15分钟系统负载,分析负载趋势:是否增加,稳固,降低等。
cpu使用率=100% - %id

指标项 描述
%cpu cpu使用率,实际数值可以超过100%,最大值为100N,N为CPU核心个数
us 用户态cpu占用率
sy 系统内核态cpu占用率
id cpu空闲率
wa cpu等待输入输出占比
hi 硬中断占比
si 软中断占比
Mem total 物理内存总量
Mem used 使用的物理内存总量
Mem free 空闲内存总量
Mem buff/cache 用作内核缓存的内存量/缓冲区总量
Swap total 使用的交换区总量
Swap used 空闲交换区总量

tips
top命令后按d,修改打印间隔,W保存设置,下次进入也生效
top命令后按f,进入列配置,d选中添加或移除,W保存设置,下次进入也生效
top命令后按1,查看各颗cpu利用详情
重定向输出:top –b –d 1 –n 3 > top.log #-b:对齐输出,-d:延迟间隔,-n:迭代次数。(只显示前10行: top -b -d 1 -n 3 |grep ^top -A 10)

说明:大量网络吞吐量会导致占用CPU的资源增大,大量的CPU开销会尝试更多的内存使用

  • 虚拟内存
    当系统的物理内存不够用时,需要将物理内存中一部分空间释放出来,以供当前运行程序使用。被释放的空间可能来自于很长时间没有操作的程序,被释放用的程序被临时保存到虚拟内存空间中,等程序需要运行时,再从虚拟内存中恢复保存的数据到物理内存中。系统总是在物理内存不够时,才进行内存之间的交换。

  • 软中断
    软中断优先级低于硬中断,软中断消耗的cpu周期相对比硬中断要多。负责将包进行各种处理,完成从驱动层、到网络协议栈,最终把处理出来的数据放到socker的接收buffer中。文章来源地址https://www.toymoban.com/news/detail-456666.html

5.2分析思路

  • %usr:用户态消耗时间,如果比较大;说明用户程序本身有CPU瓶颈,需要优化程序本身。
  • %sys:系统内核消耗时间,如果比较大;说明系统调用函数花费时间很多,系统调用有CPU瓶颈,可能是程序非常多次调用系统内核函数导致,需要优化代码。
  • %idle:空闲cpu,如果较大,则CPU不是瓶颈。

到了这里,关于【性能测试】系统常用监控- -CPU的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu系统CPU压力测试-有图有真相

    为了测试CPU在ubuntu下满负荷运行机器散热情况,而进行的简单实验。 确认物理机是否联网,确认资源OK #sudo  update   1.cpu性能测试-安装软件 #sudo apt install -y stress psensor htop stress 介绍 可以查看这个大神的作品 链接:Linux性能优化(一)——stress压力测试工具_stress工具_天山老

    2024年02月09日
    浏览(41)
  • 系统测试(功能测试、性能测试)

    是将已经集成好的 软件系统 ,作为整个计算机系统的一个元素, 与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素 结合在一起,在实际运行(使用)环境下,对计算机系统进行系列的测试活动。 性能测试 压力测试(负载、并发) 容量测试 健壮性测试 安全

    2024年02月08日
    浏览(54)
  • 性能测试:系统架构性能优化思路

    今天谈下业务系统性能问题分析诊断和性能优化方面的内容。这篇文章重点还是谈已经上线的业务系统后续出现性能问题后的问题诊断和优化重点。 我们首先来分析下如果一个业务系统上线前没有性能问题,而在上线后出现了比较严重的性能问题,那么实际上潜在的场景主要

    2024年02月05日
    浏览(58)
  • 系统性能压力测试

      压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,

    2024年02月06日
    浏览(40)
  • LabVIEW开发燃油阀自动性能测试系统

    LabVIEW开发燃油阀自动性能测试系统 燃油阀是航空燃油控制系统的核心部件。燃油阀的流量滞后直接影响控制精度、稳定性和可靠性,而燃油阀生产的性能测试是至关重要的步骤。但是,由于流动滞后是非线性的,因此很难控制和进行实时测试。随着厂家产能和生产规模的快

    2024年02月11日
    浏览(37)
  • 【测试技术-性能测试-实战1】使用Loadrunner自带的系统学习脚本编写和脚本增强。

    Hp software-start hp web tours server Hp software-hp web tours application 打开Virtual User Generator 创建脚本,协议选择Web - HTTP/HTML,输入脚本名,选择好脚本存放路径,点击create即可创建好一个空白脚本。 设置录制选项,点击record按钮,设置完基本信息后,点击右下角的Recording Options,设置录

    2024年02月02日
    浏览(51)
  • 记录自己安装文件系统性能测试工具——IOZone过程

    测试环境: 安装IOZone环境 源码编译安装 ​ 下载源码: ​ 解压编译: 添加环境变量(可选) 执行如下命令,查看IOZone版本 ​ 返回内容如下所示,表示安装已经完成: 运行 ​ 参数说明: 1)自动测试示例 ​ 返回结果: ​ 其中IOZone输出的第一组包含标题信息,其中显示有

    2024年01月19日
    浏览(52)
  • 【性能测试】Loadrunner12.55(二)-飞机订票系统-脚本录制

    Loadrunner 12.55不会自动安装飞机订票系统,要自己手动安装。 我们需要下载Web Tools以及一个小插件strawberry https://marketplace.microfocus.com/appdelivery/content/web-tours-sample-application WebTours从上面这个地址下载:(没账号的话要先注册一个账号) strawberry-perl-5.10.1.0.msi https://www.aliyundrive.

    2024年01月20日
    浏览(39)
  • SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试【3】静态编译 invalid run

    上篇 SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试【2】_hkNaruto的博客-CSDN博客 修改gcc41.cfg,全部添加上-static 测试指令 结果:正常运行并生成报告  invalid run   Copyright 2006-2023 Standard Performance Evaluation Corporation System Vendor (Test Sponsor: Test Sponsor (Optional, defaults to hw_vendor)) System Model

    2024年02月16日
    浏览(37)
  • Java线上故障排查(CPU、磁盘、内存、网络、GC)+JVM性能调优监控工具+JVM常用参数和命令

    根据服务部署和项目架构,从如下几个方面排查: (1)运用服务器:排查内存,cpu,请求数等; (2)文件图片服务器:排查内存,cpu,请求数等; (3)计时器服务器:排查内存,cpu,请求数等; (4)redis服务器:排查内存,cpu,连接数等; (5)db服务器:排查内存,cpu,连接数

    2024年02月07日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包