Get IO service time (svctm), timeout (wait),% to use on a Windows server

We get all this information on unix using iostat on UNIX. What can I do on Windows. We are currently using typeperf.

+6
source share
2 answers

Every statistic that Windows can get uses the Powershell API:

Get-Counter https://technet.microsoft.com/en-us/library/hh849685.aspx

So, for example, if you do this:

Set-Alias grep Select-String (Get-Counter -List PhysicalDisk).PathsWithInstances | grep "C:" 

You will get a list of all statistics for you. C: drive

 \PhysicalDisk(0 C:)\Current Disk Queue Length \PhysicalDisk(0 C:)\% Disk Time \PhysicalDisk(0 C:)\Avg. Disk Queue Length \PhysicalDisk(0 C:)\% Disk Read Time \PhysicalDisk(0 C:)\Avg. Disk Read Queue Length \PhysicalDisk(0 C:)\% Disk Write Time \PhysicalDisk(0 C:)\Avg. Disk Write Queue Length \PhysicalDisk(0 C:)\Avg. Disk sec/Transfer \PhysicalDisk(0 C:)\Avg. Disk sec/Read \PhysicalDisk(0 C:)\Avg. Disk sec/Write \PhysicalDisk(0 C:)\Disk Transfers/sec \PhysicalDisk(0 C:)\Disk Reads/sec \PhysicalDisk(0 C:)\Disk Writes/sec \PhysicalDisk(0 C:)\Disk Bytes/sec \PhysicalDisk(0 C:)\Disk Read Bytes/sec \PhysicalDisk(0 C:)\Disk Write Bytes/sec \PhysicalDisk(0 C:)\Avg. Disk Bytes/Transfer \PhysicalDisk(0 C:)\Avg. Disk Bytes/Read \PhysicalDisk(0 C:)\Avg. Disk Bytes/Write \PhysicalDisk(0 C:)\% Idle Time \PhysicalDisk(0 C:)\Split IO/Sec 

From the iostat man page ( http://linuxcommand.org/man_pages/iostat1.html )

 svctm The average service time (in milliseconds) for I/O requests that were issued to the device. await The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. 

I follow these interpretations:
https://unix.stackexchange.com/questions/104192/iostat-await-vs-svctm
http://www.xaprb.com/blog/2010/09/06/beware-of-svctm-in-linuxs-iostat/

Including a discussion that svctm no longer needs to be used.

If you see https://blogs.technet.microsoft.com/askcore/2012/02/07/measuring-disk-latency-with-windows-performance-monitor-perfmon/ , you will see that Windows has something similar.

A counter named "\ PhysicalDisk (*) \ Avg. Disk sec / Transfer" measures the time taken to:
- Class driver
- Portal driver
- Miniport device driver
- disk subsystem

So, for example, we can track statistics:

 Get-Counter -Counter "\PhysicalDisk(0 C:)\% Disk Time" Get-Counter -Counter "\PhysicalDisk(0 C:)\Avg. Disk sec/Transfer" 

or, if you want, a more "pipelined" version:

 "\PhysicalDisk(0 C:)\% Disk Time","\PhysicalDisk(0 C:)\Avg. Disk sec/Transfer" >> counters.txt cat counters.txt | Get-Counter 

For a more detailed explanation of each counter, see:
https://blogs.technet.microsoft.com/askcore/2012/03/16/windows-performance-monitor-disk-counters-explained/

0
source

There is also a logman utility. Links on this topic: Clint Huffman's blog and book http://blogs.technet.com/b/clinth/ http://www.amazon.com/dp/0124167012/ref=wl...=I2TOVTYHI6HDHC

+1
source

All Articles