性能监控诊断

本文介绍了操作系统在程序性能中的关键作用,重点讨论了CPU利用率、内存利用率、磁盘I/O和网络利用率等关键指标。用户响应时间由服务器响应时间和网络时间组成,是衡量系统性能的重要标准。系统性能分析涉及从整体系统资源使用到应用程序的逐层剖析,常用工具如top、perfmon等用于监控。文章还提到了Windows系统的性能监控方法。
摘要由CSDN通过智能技术生成

操作系统性能分析介绍

我们开发的程序,基本上都是基于操作系统来执行的,操作系统统筹管理着计算机的各个硬件资源和软件运行的情况,所以我们开发的应用程序的性能,最直接的反馈就是在计算机的硬件运行情况上反应出来。

从用户的角度看,他们其实不在乎运用程序是怎样运行的,对他们来说就是一个黑盒,他们只知道,只要输入账号密码就能够登录系统,在购票系统里面,输入乘客信息,就可以购买了,具体架构实现如何是不关心的。而他们关心的是,我是否能够正常进入系统,成功买到票,在用这个系统的时候,好不好用,能否快速地响应。

在这里主要就是响应的时间,对于这个系统来说,一个是服务器内部逻辑运算处理的时间,另外一个是网络传输的时间,可以总结为以下公式:

用户响应时间 = 服务器响应时间 + 网络时间

系统性能分析思路

对系统性能进行分析,我们首先得了解这个系统的架构,资源的去向,在哪个地方可能出现性能瓶颈,通常分为这几块分析:

  1. 整体系统CPU利用率
    1. 一般期望平均可用CPU>20%
    2. CPU的主频,cache 大小、是否支持超线程
  2. 内存利用率
    1. 内存太小,系统进程会被阻塞,应用变慢,失去响应,OOM被kill
    2. 太大了浪费
    3. 虚拟内存的大小
  3. 磁盘I/O的利用率和延迟
    1. IO的TPS
    2. 平均IO数据
    3. 平均队列长度
    4. 平均服务时间
    5. 平均等待时间
    6. IO利用率
  4. 网络利用率
    1. 网络带宽限制
    2. 响应时间
    3. 网络延迟
    4. 阻塞
    5. 网络是否可达
    6. 防火墙是否开启
    7. 端口访问
    8. 路由寻址

系统应用类型基本上可以分为两类:

  1. IO Bound(IO 范畴)
    1. 大量数据处理
    2. 不对CPU以及网络发起更多的请求
  2. CPU Bound (CPU 范畴)
    1. 批量处理CPU请求及计算过程

分析思路,自顶向下,由应用程序往下分析;另一种是由底向上,从操作系统资源往上分析到应用程序:

 

 CPU定位分析

 内存定位分析

网络定位分析 

 

 IO定位分析

 我们可以通过uptime、top、w,htop,dstat, nmon, glances等命令显示系统负载情况

top 进程状态间的切换和轮转

 Windows 系统性能监控

1. 通过命令行 输入perfmon 打开

 

 2. 启动资源监视器

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值