欢迎来到代码驿站!

Windows

当前位置:首页 > 服务器 > Windows

如何在Windows中监视IO性能

时间:2020-12-07 16:30:58|栏目:Windows|点击:

本来准备写一篇windows中监视IO性能的,后来发现好像可写的内容不多,windows在细节这方面做的不是那么的好,不过那些基本信息还是有的。

在Windows中监视性能基本都用性能监视器了,与IO性能相关的有两个大类,一个是”LogicalDisk”,另外一个是”PhysicalDisk”,”LogicalDisk”更多的是用来监视文件相关的IO性能,而”PhysicalDisk”则是用来监视LUN或者是磁盘卷,下面就列举下与前面所列举的IO性能相关的计数器,具体的自己研究了:

单次IO大小

  • Avg. Disk Bytes/Read
  • Avg. Disk Bytes/Write

IO响应时间

  • Avg. Disk sec/Read
  • Avg. Disk sec/Write

IOPS

  • Disk Reads/sec
  • Disk Writes/sec
  • Disk Transfers/sec

IO吞吐率

  • Disk Bytes/sec
  • Disk Read Bytes/sec
  • Disk Write Bytes/sec

理解iostat的各项输出

在Linux中,我们执行一个iostat -x命令,我们能看到如下的输出

  $iostat -x
  Linux 2.4.21-50a6smp (linux) 11/03/2009
  avg-cpu: %user %nice %sys %iowait %idle
  0.42 0.00 0.26 0.47 98.86
  Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
  hdc 0.01 0.00 0.00 0.00 0.07 0.00 0.03 0.00 24.48 0.00 4.90 4.57 0.00
  hda 0.89 8.54 0.74 4.49 12.60 104.22 6.30 52.11 22.32 0.03 5.41 1.01 0.53

我们先列举一下各个性能指标的简单说明。

  •   rrqm/s:每秒进行merge的读操作数目。
  •   wrqm/s:每秒进行merge的写操作数目。
  •   r/s:每秒完成的读I/O设备次数。
  •   w/s:每秒完成的写I/O设备次数。
  •   rsec/s:每秒读扇区数。
  •   wsec/s:每秒写扇区数。
  •   rkB/s:每秒读K字节数。
  •   wkB/s:每秒写K字节数。
  •   avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。
  •   avgqu-sz:平均I/O队列长度。
  •   await:平均每次设备I/O操作的等待时间(毫秒)。
  •   svctm:平均每次设备I/O操作的服务时间(毫秒)。
  •   %util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的。

要理解这些性能指标我们先看下图

IO的执行过程的各个参数

上图的左边是iostat显示的各个性能指标,每个性能指标都会显示在一条虚线之上,这表明这个性能指标是从虚线之上的那个读写阶段开始计量的,比如说图中的w/s从Linux IO scheduler开始穿过硬盘控制器(CCIS/3ware),这就表明w/s统计的是每秒钟从Linux IO scheduler通过硬盘控制器的写IO的数量。

结合上图对读IO操作的过程做一个说明,在从OS Buffer Cache传入到OS Kernel(Linux IO scheduler)的读IO操作的个数实际上是rrqm/s+r/s,直到读IO请求到达OS Kernel层之后,有每秒钟有rrqm/s个读IO操作被合并,最终转送给磁盘控制器的每秒钟读IO的个数为r/w;在进入到操作系统的设备层(/dev/sda)之后,计数器开始对IO操作进行计时,最终的计算结果表现是await,这个值就是我们要的IO响应时间了;svctm是在IO操作进入到磁盘控制器之后直到磁盘控制器返回结果所花费的时间,这是一个实际IO操作所花的时间,当await与svctm相差很大的时候,我们就要注意磁盘的IO性能了;而avgrq-sz是从OS Kernel往下传递请求时单个IO的大小,avgqu-sz则是在OS Kernel中IO请求队列的平均大小。

现在我们可以将iostat输出结果和我们前面讨论的指标挂钩了。

  •   平均单次IO大小(IO Chunk Size) <=> avgrq-sz
  •   平均IO响应时间(IO Response Time) <=> await
  •   IOPS(IO per Second) <=> r/s + w/s
  •   吞吐率(Throughtput) <=> rkB/s + wkB/s

上一篇:Win2008 网络策略设置方法 让访问更安全

栏    目:Windows

下一篇:win2003 VPS服务器之用IIS建立网站

本文标题:如何在Windows中监视IO性能

本文地址:http://www.codeinn.net/misctech/30144.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有