Here’s another short video of the type of triage possible with Xperf, this time Bob shows us how to track down a slow I/O issue. Since I/O Manager is instrumented at IoCallDriver and IoCompleteRequest we can often use this information to diagnose a Slow I/O or SAN issue. The steps to enable the tracing are in the video description and here again below.
Video Description: (http://www.youtube.com/watch?v=0h-i_EfzadA)
Here's how you can use the Windows Performance Toolkit aka Xperf to investigate slow I/O issues on Windows 2008, Vista, and higher versions. Put the following into a batch file (modifying the -f to point the etl file generation elsewhere than the slow storage) and it will start a circular trace which can be stopped when the slow I/O occurs.
xperf -on PROC_THREAD+LOADER+CSWITCH+FILENAME+FILE_IO+FILE_IO_INIT+DRIVERS -f kernel.etl -stackwalk CSwitch+DiskReadInit+DiskWriteInit+DiskFlushInit+FileCreate+FileCleanup+FileClose+FileRead+FileWrite -BufferSize 1024 -MaxBuffers 1024 -MaxFile 1024 -FileMode Circular
echo Reproduce the problem now, hit any key to finish, collect Merged Etl file
echo merging etl...
xperf -d XperfSlowIOcir.etl
the download url is invalid right now。
[Thank you for your comment. The download version of the video is no longer available. Please use the streaming video.]
Thank you, great post!
I am trying to do this with the Windows 8 version of Windows Performance Analyser (ver 6.2.9200.16384) but I cannot find the 'Driver Delays' graph. What graph should I use in the new version to get the information you showed in this video ?
[The Storage Driver Delays graph is under the Storage graph. The screenshots in this article may help, http://blogs.msdn.com/b/ntdebugging/archive/2012/05/31/hotfix-to-enable-mini-filter-performance-diagnostics-with-xperf-for-windows-server-2008r2.aspx.]