欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在Windows中監(jiān)視IO性能

 更新時(shí)間:2019年09月19日 09:46:12   作者:岌岌可危  
這篇文章主要介紹了如何在Windows中監(jiān)視IO性能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

本來準(zhǔn)備寫一篇windows中監(jiān)視IO性能的,后來發(fā)現(xiàn)好像可寫的內(nèi)容不多,windows在細(xì)節(jié)這方面做的不是那么的好,不過那些基本信息還是有的。

在Windows中監(jiān)視性能基本都用性能監(jiān)視器了,與IO性能相關(guān)的有兩個(gè)大類,一個(gè)是”LogicalDisk”,另外一個(gè)是”PhysicalDisk”,”LogicalDisk”更多的是用來監(jiān)視文件相關(guān)的IO性能,而”PhysicalDisk”則是用來監(jiān)視LUN或者是磁盤卷,下面就列舉下與前面所列舉的IO性能相關(guān)的計(jì)數(shù)器,具體的自己研究了:

單次IO大小

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

IO響應(yīng)時(shí)間

  • 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的各項(xiàng)輸出

在Linux中,我們執(zhí)行一個(gè)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

我們先列舉一下各個(gè)性能指標(biāo)的簡單說明。

  •   rrqm/s:每秒進(jìn)行merge的讀操作數(shù)目。
  •   wrqm/s:每秒進(jìn)行merge的寫操作數(shù)目。
  •   r/s:每秒完成的讀I/O設(shè)備次數(shù)。
  •   w/s:每秒完成的寫I/O設(shè)備次數(shù)。
  •   rsec/s:每秒讀扇區(qū)數(shù)。
  •   wsec/s:每秒寫扇區(qū)數(shù)。
  •   rkB/s:每秒讀K字節(jié)數(shù)。
  •   wkB/s:每秒寫K字節(jié)數(shù)。
  •   avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)大小(扇區(qū))。
  •   avgqu-sz:平均I/O隊(duì)列長度。
  •   await:平均每次設(shè)備I/O操作的等待時(shí)間(毫秒)。
  •   svctm:平均每次設(shè)備I/O操作的服務(wù)時(shí)間(毫秒)。
  •   %util:一秒中有百分之多少的時(shí)間用于I/O操作,或者說一秒中有多少時(shí)間I/O隊(duì)列是非空的。

要理解這些性能指標(biāo)我們先看下圖

IO的執(zhí)行過程的各個(gè)參數(shù)

上圖的左邊是iostat顯示的各個(gè)性能指標(biāo),每個(gè)性能指標(biāo)都會(huì)顯示在一條虛線之上,這表明這個(gè)性能指標(biāo)是從虛線之上的那個(gè)讀寫階段開始計(jì)量的,比如說圖中的w/s從Linux IO scheduler開始穿過硬盤控制器(CCIS/3ware),這就表明w/s統(tǒng)計(jì)的是每秒鐘從Linux IO scheduler通過硬盤控制器的寫IO的數(shù)量。

結(jié)合上圖對(duì)讀IO操作的過程做一個(gè)說明,在從OS Buffer Cache傳入到OS Kernel(Linux IO scheduler)的讀IO操作的個(gè)數(shù)實(shí)際上是rrqm/s+r/s,直到讀IO請(qǐng)求到達(dá)OS Kernel層之后,有每秒鐘有rrqm/s個(gè)讀IO操作被合并,最終轉(zhuǎn)送給磁盤控制器的每秒鐘讀IO的個(gè)數(shù)為r/w;在進(jìn)入到操作系統(tǒng)的設(shè)備層(/dev/sda)之后,計(jì)數(shù)器開始對(duì)IO操作進(jìn)行計(jì)時(shí),最終的計(jì)算結(jié)果表現(xiàn)是await,這個(gè)值就是我們要的IO響應(yīng)時(shí)間了;svctm是在IO操作進(jìn)入到磁盤控制器之后直到磁盤控制器返回結(jié)果所花費(fèi)的時(shí)間,這是一個(gè)實(shí)際IO操作所花的時(shí)間,當(dāng)await與svctm相差很大的時(shí)候,我們就要注意磁盤的IO性能了;而avgrq-sz是從OS Kernel往下傳遞請(qǐng)求時(shí)單個(gè)IO的大小,avgqu-sz則是在OS Kernel中IO請(qǐng)求隊(duì)列的平均大小。

現(xiàn)在我們可以將iostat輸出結(jié)果和我們前面討論的指標(biāo)掛鉤了。

  •   平均單次IO大小(IO Chunk Size) <=> avgrq-sz
  •   平均IO響應(yīng)時(shí)間(IO Response Time) <=> await
  •   IOPS(IO per Second) <=> r/s + w/s
  •   吞吐率(Throughtput) <=> rkB/s + wkB/s

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論