如何在Windows中監(jiān)視IO性能
本來準備寫一篇windows中監(jiān)視IO性能的,后來發(fā)現(xiàn)好像可寫的內容不多,windows在細節(jié)這方面做的不是那么的好,不過那些基本信息還是有的。
在Windows中監(jiān)視性能基本都用性能監(jiān)視器了,與IO性能相關的有兩個大類,一個是”LogicalDisk”,另外一個是”PhysicalDisk”,”LogicalDisk”更多的是用來監(jiān)視文件相關的IO性能,而”PhysicalDisk”則是用來監(jiān)視LUN或者是磁盤卷,下面就列舉下與前面所列舉的IO性能相關的計數(shù)器,具體的自己研究了:
單次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中,我們執(zhí)行一個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的讀操作數(shù)目。
- wrqm/s:每秒進行merge的寫操作數(shù)目。
- r/s:每秒完成的讀I/O設備次數(shù)。
- w/s:每秒完成的寫I/O設備次數(shù)。
- rsec/s:每秒讀扇區(qū)數(shù)。
- wsec/s:每秒寫扇區(qū)數(shù)。
- rkB/s:每秒讀K字節(jié)數(shù)。
- wkB/s:每秒寫K字節(jié)數(shù)。
- avgrq-sz:平均每次設備I/O操作的數(shù)據(jù)大小(扇區(qū))。
- avgqu-sz:平均I/O隊列長度。
- await:平均每次設備I/O操作的等待時間(毫秒)。
- svctm:平均每次設備I/O操作的服務時間(毫秒)。
- %util:一秒中有百分之多少的時間用于I/O操作,或者說一秒中有多少時間I/O隊列是非空的。
要理解這些性能指標我們先看下圖
IO的執(zhí)行過程的各個參數(shù)
上圖的左邊是iostat顯示的各個性能指標,每個性能指標都會顯示在一條虛線之上,這表明這個性能指標是從虛線之上的那個讀寫階段開始計量的,比如說圖中的w/s從Linux IO scheduler開始穿過硬盤控制器(CCIS/3ware),這就表明w/s統(tǒng)計的是每秒鐘從Linux IO scheduler通過硬盤控制器的寫IO的數(shù)量。
結合上圖對讀IO操作的過程做一個說明,在從OS Buffer Cache傳入到OS Kernel(Linux IO scheduler)的讀IO操作的個數(shù)實際上是rrqm/s+r/s,直到讀IO請求到達OS Kernel層之后,有每秒鐘有rrqm/s個讀IO操作被合并,最終轉送給磁盤控制器的每秒鐘讀IO的個數(shù)為r/w;在進入到操作系統(tǒng)的設備層(/dev/sda)之后,計數(shù)器開始對IO操作進行計時,最終的計算結果表現(xiàn)是await,這個值就是我們要的IO響應時間了;svctm是在IO操作進入到磁盤控制器之后直到磁盤控制器返回結果所花費的時間,這是一個實際IO操作所花的時間,當await與svctm相差很大的時候,我們就要注意磁盤的IO性能了;而avgrq-sz是從OS Kernel往下傳遞請求時單個IO的大小,avgqu-sz則是在OS Kernel中IO請求隊列的平均大小。
現(xiàn)在我們可以將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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
windows10打開switchHost 提示無修改權限問題解決
這篇文章主要介紹了windows10打開switchHost,提示無修改權限問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09用戶態(tài)和內核態(tài)-用戶線程和內核態(tài)線程的區(qū)別
這篇文章主要介紹了用戶態(tài)和內核態(tài)-用戶線程和內核態(tài)線程的區(qū)別,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09Win10 系統(tǒng)下快速搭建mxnet框架cpu版本
這篇文章主要介紹了Win10 系統(tǒng)下快速搭建mxnet框架cpu版本,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10HarmonyOS開發(fā)基礎知識之Component和ComponentContainer區(qū)別(鴻蒙教程)
這篇文章主要介紹了HarmonyOS開發(fā)基礎知識之Component和ComponentContainer區(qū)別(鴻蒙教程),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09一鍵GHOST V8.3 Build 060425 硬盤版一鍵ghost使用方法說明[圖文詳細教程]
一鍵GHOST V8.3 Build 060425 硬盤版一鍵ghost使用方法說明[圖文詳細教程]...2007-01-01