h

IO

mon

  The File I/O Performance Monitor

 Making data performSM

Home  |  Products & Services  |  Contact  |  About hyperI/Osm

 

Big Picture
Product Info
Features
Architecture
Screen Shots
Documentation
Support
Download

Five Storage Performance Questions

When dealing with disk I/O performance concerns and issues, there can often be numerous details and metrics that may need to be assessed.

But for starters, it can be prudent to consider the following five basic questions, which also reflect several scenarios for which hIOmon can help provide key I/O operation metrics based upon your own particular computer system environment  --  and using your very own actual applications and files as you normally do!

1:  What is the maximum I/O operation queue length?  At WHEN did this maximum occur?

Having a large number of I/O operations queued at a device can often entails increased response times (i.e., longer waits for the I/O operations to be completed).  hIOmon can automatically keep track of the maximum number of queued I/O operations that it observes (for read and write I/O operations separately and combined) and can provide the associated "maximum queue length" metrics not only upon an individual device basis but also for individual files and processes/applications.

Moreover, hIOmon can even provide you with a time stamp reflecting exactly when the "maximum queue length" metric value was detected.  This can help complete the overall picture by telling you both the what and when of the maximum queue length values!

The following screen shot illustrates the use of the hIOmon WMI Browser to display the maximum queue length metric values (which were captured during "Boot Logging" by hIOmon) upon an individual device basis.

Back to top

2:  To what extent are I/O operations actually going down to the devices?

You may very well be surprised as to how many of your file I/O operations are (or are not!) satisfied by the system file cache and do not require actual device I/O operations.  Obviously, file I/O operations can be satisfied by the system file cache within a fraction of the time usually required by actual device I/O operations, and so can have a tremendous impact upon the overall I/O performance seen by the application.

hIOmon can collect an extensive set of system file cache metrics not only upon an individual file basis, but also collectively upon an individual device and process/application basis.  These system file cache metrics together with the "Physical Device Extended Metrics" (both uniquely collected by hIOmon) can provide you with important insights as to the actual device usage and I/O performance characteristics of your particular applications.

Moreover, hIOmon additionally collects a variety of random/sequential access metrics along with "Fast I/O operation" metrics (which reflect I/O operations that completed within less than a millisecond as observed by hIOmon) to further help you quickly and easily determine the types of I/O operations actually performed at both the file-level and also at the "physical device" level within the operating system.

The following screen shot illustrates the use of the hIOmon WMI Browser to display the system file cache "read hit" percentage for the devices (both logical and physical) being monitored by hIOmon.  Note that similar displays are available for both files and processes/applications.

 
See the short presentation entitled "The Best I/O is No I/O" for actual examples of empirical metrics collected by hIOmon that illustrate the effectiveness of the system file cache and how much of an application's I/O activity actually goes to disk.

Back to top

3:  How do you characterize the I/O behavior of your particular files/devices/applications?

Understanding exactly how your specific applications are actually using their associated files and devices (i.e., an application's particular "I/O profile") is a key factor in troubleshooting issues, evaluating proposed improvements and the impact of implemented changes, comparing technology alternatives and benchmark testing, etc.

As examples, do you know your particular application's:

  • Average read and write I/O operation response times, and similarly the maximum response times and when they occurred?

  • Read and write I/O operation counts, and similarly the average and maximum I/O operation rates (IOPS) and when the maximum IOPS occurred?

  • Read and write data transferred amounts, and similarly the transfer sizes (minimum, average, and maximum, along with when the maximum transfer size occurred)?

  • Average and maximum read and write data transfer rates (MBs), and similarly when the maximum MBs occurred? 

  • Average and maximum read and write I/O operation queue depths/lengths, and when the maximum queue depth/length occurred?

  • Amount of I/O operation activity that was satisfied by the system file cache, and similarly the amount of I/O activity that required “physical device” I/O operations (within the operating system) to complete the associated file I/O operations?

  • Amount of I/O activity that reflected either random or sequential access to the file (or device)?  And not only in terms of separate read and write I/O operation counts but also the amount of data transferred? 

hIOmon provides a robust set of file and device I/O operation performance metrics so that you can discover how your particular, individual files and devices are actually being accessed and used by your particular applications.

This comprehensive set of I/O operation performance metrics goes far beyond basic read and write I/O operation counts, response times, throughput, and data transfer sizes/amounts to uniquely include such metrics as queue depths/lengths, idle times, system file cache metrics (e.g., "hits" and "misses"), optional associated "physical device" I/O operation metrics (including "split I/O" operation information related to fragmented files) along with random/sequential access detection, plus much more!

Moreover, one key hIOmon feature is its unique ability to collect, display, and export the I/O operation performance metrics upon a summarized basis.  hIOmon is the only software tool currently available that collects summarized metrics such as random and sequential access I/O counts and data transfer amounts along with system file cache metrics (e.g., "hits" and "misses").   

Rather than having to labor over reams and reams of data representing metrics for each and every individual I/O operation (i.e., "I/O trace" data), hIOmon allows you to efficiently collect aggregate I/O operation metrics for only your particular files (and processes/applications) of interest.  These aggregate metrics can then be offloaded for display and/or export either periodically (user-specified), when the file is closed/inactive, or when a user-specified "Alert" threshold (e.g., a particular total write I/O operation count, a maximum read response time, total amount of write data transferred, etc.) is detected.

The optional hIOmon "Summarized Data" feature helps provide significantly reduced overhead both for your system and for you.  The aggregated metrics collected by hIOmon enable you to easily and quickly focus upon your specific items of interest and concern, without struggling over mountains of I/O trace data and/or having to use various tools to generate "summarized" metrics from such trace data.  But in the event that you do need to track down some particular I/O operation activity, hIOmon also provides an "I/O Trace Data" feature option as well.

Lastly, it is especially important to note that hIOmon can capture its robust set of I/O operation metrics while you use your very own actual applications and files as you normally do -- and within your own particular computer system environment.  Moreover, hIOmon does not require any application or file system modifications nor does it require operating system code changes!

See the short presentation entitled "Looking at an Application's I/O Behavior" for actual examples of empirical metrics collected by hIOmon for common, everyday applications. 

Back to top

4:  How do I correlate the I/O performance of files to my particular applications?

hIOmon provides file I/O operation performance metrics aggregated upon an individual process/application basis so that you can view overall I/O operation performance for a specific process/application.  hIOmon also enables you to not only easily tell which specific files (along with their respective file I/O operation performance metrics) are associated with a particular process/application, but also the particular processes/applications associated with a specific file.

By being able to quickly and easily correlate file usage with their respective processes/applications, you can determine, for instance, which particular processes/applications have the "hot" files.  Similarly, you can identify which particular files are contributing to the performance degradation of a specific process/application.   

Back to top   

5:  What is the actual impact of file fragmentation upon I/O performance?

The "Physical Device Extended Metrics" provided by hIOmon include several metrics related to physical device "split I/O" operations (which can occur, for example, when the data requested by a file I/O operation resides upon noncontiguous areas of the physical device so that multiple physical device I/O operations must be performed to satisfy the file I/O operation).  These new metrics can help provide, for instance, empirical data (moreover based upon actual file I/O operations) regarding the issue of file fragmentation by helping to show the actual performance impact of accessing fragmented files and of file fragmentation overall.

Back to top

Where can I learn more about hIOmon?

For additional information about hIOmon, please see the following links:

Back to Top

Legal and Privacy.  Copyright © 1999-2011  hyperI/O LLC.  All Rights Reserved. 

All trademarks mentioned herein are the property of their respective owners.