hIOmon Software and Services

Disk and Application I/O Profiles


An "I/O Profile" reflects the particular I/O operation activity, patterns, and performance associated with a specific application, workload, system, file or device.

I/O Profiles have traditionally been based upon a rather limited set of standard I/O metrics, such as average and maximum IOPS, MB/s, and response times along with total I/O operation counts, data transferred amounts, and read/write ratios.  Queue depth and several specific data transfer sizes (such as 4K, 64K, and 128K) are also often referenced.  Random/sequential access ratios might be mentioned as well.

Notably these types of metrics are stated in device performance claims by vendors and within various performance test-tool and reviewer reports.  Usually these claims and reports are accompanied by the admonition (if not caveat) that the user should also ultimately consider their own actual I/O Profiles.  Exactly how the user determines their particular I/O Profiles is essentially left as an exercise for the user.

A primary goal of the hIOmon software and services from hyperI/O is to help a variety of users easily and quickly determine their particular I/O Profiles.  Moreover, hIOmon enables these I/O Profiles to be established upon empirical metrics that it has captured and which reflect applications, workloads, devices, and the system in everyday usage.  These empirical metrics are based upon actual observations taken at points within the operating system where the individual I/O operations are processed.

The hIOmon ETW I/O Monitor software component leverages the Microsoft® "Event Tracing for Windows (ETW)" facility for obtaining these observations.  Designed and implemented by Microsoft, the ETW supports use within production environments.  It is included within the various Windows operating system versions supported by the hIOmon software.

hIOmon also introduces new, additional metrics such as the hIOmon "Performance Threshold Range Metrics" and the "DataTransferred / Time Index (DXTI)" metric.  These novel metrics allow hIOmon to provide users with broader, more precise, and more pertinent I/O Profiles.

Performance Threshold Range Metrics

The hIOmon "Performance Threshold Range Metrics" are a large, robust set of automatically-summarized I/O operation performance metrics.  They can be aggregated and displayed in real-time without requiring the separate collection and post-processing of individual I/O operation trace records, which often can be generated in huge quantities.

The Performance Threshold Range Metrics are specifically focused upon the ranges of I/O operations per second (IOPS), megabytes-per-second (MB/s) data transfer rates, response times (RT), I/O operation queue depths/lengths (QD), and data transfer sizes/lengths (DTS) actually observed by the hIOmon I/O Monitor for individual devices, files, and processes.


For example, one Performance Threshold Range Metric is the "IOPS 1 - 99" Range Count metric for read I/O operations.  This metric reflects the number of one-second intervals during which the hIOmon I/O Monitor actually observed a total number of monitored read I/O operations that was one or more, but less than 100 read I/O operations.

Similarly, the "MBS 10 < 20" Range Count metric for write I/O operations reflects the number of one-second intervals during which the hIOmon I/O Monitor actually observed a total amount of data transferred by write I/O operations that was 10 000 000 bytes (i.e., 10 megabytes) or more, but less than 20 000 000 bytes (i.e., 20 megabytes).

Use the hIOmon Performance Threshold Range Metrics to quickly characterize I/O Profiles in specific terms of discrete IOPS, MB/s, QD, Response Time, and Data Transfer Size ranges

For instance, easily identify whether your particular workload actually exhibits low read IOPS (e.g., IOPS between 1 and 99), high read IOPS (e.g., IOPS between 20000 and 39999), other IOPS ranges, or combinations thereof.  Likewise determine whether your device I/O exhibits, for example, write response times predominately within the 100 to 199 microseconds range along with the percentage of response times within the range of 500 milliseconds or greater.

Click here for screenshots of the hIOmon Disk I/O Ranger Display that illustrate several of the Performance Threshold Range Metrics.

DataTransferred / Time Index Metric

The hIOmon "DataTransferred/Time Index (DXTI)" is a simple, straightforward metric.  It provides a "high-level" means for relative comparison of I/O operation performance, where basically "higher is better".  That is, the "higher" the Index number, the better the performance – as in more data transferred and/or less required response time (i.e., application wait).

The DXTI metric (which can be provided by hIOmon upon an individual file, device, and process/application basis) resembles the "fuel economy" index for an automotive vehicle (i.e., "miles-per-gallon") as an overall measure of "performance efficiency".  It is akin to more miles driven (more data transferred) for fuel used (response time taken to transfer this data), or similarly, same miles (data transferred) but less fuel used (less response time).

As an important component of the I/O Profile, the DXTI metric can be used as a "leading indicator" of overall I/O performance.

The DXTI metric can often be used, for example, to quickly distinguish between the use of hard disk drives (HDD) and the use of solid state disks (SSD), with the latter generally exhibiting notably higher DXTI values.  This metric is also sensitive to "abnormally" high response times, which drag down the DXTI value – much like driving up a long steep hill will drag down your fuel economy.

The hIOmon Disk I/O Ranger Display highlights the calculated DXTI metric values in yellow text.  Similarly, DXTI metric values are prominently shown within the display header of the hIOmon I/O Trender Display.

Click here for additional information about the hIOmon DXTI metric.

Determining the specific "I/O profiles" pertinent to your particular applications and workloads – moreover in an efficient, timely, and cost-effective manner – is key to appropriately and prudently aligning your disk storage purchases and subsequent management to the actual needs of your applications (and associated personal or business goals).


Bringing Transparency to Disk I/O Performanceâ„