Warning: session_start() [function.session-start]: open(/home/content/77/5283477/tmp/sess_vj03vbr90fc0qrm75gol6rer41, O_RDWR) failed: No such file or directory (2) in /home/content/77/5283477/html/io_profile.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/77/5283477/html/io_profile.php:2) in /home/content/77/5283477/html/io_profile.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/77/5283477/html/io_profile.php:2) in /home/content/77/5283477/html/io_profile.php on line 2
Estorian: io_profile
Estorian Portal Login| Contact| Careers
TSF Professional
io_profile logo

Technical and installation information on io_profile

io_profile works by measuring the time it takes to perform a large number of open-seek-read(or write)-close cycles at random locations in a set of files chosen at random. It makes these measurements scanning the I/O size exponentially from a minimum to a maximum value. Here's the simplest example of how you would run io_profile:

[bill@linus sda3]$ io_profile IO profile test parameters --------------------------Date: Sun Mar 7 17:12:11 2004 Location: linus:/mnt/sda3 File mode: Multi-file filesystem, 3 levels, 4 files per level Synch mode: Using libc with no buffering File size: 4194304 bytes Reads (Writes) from 2 to 65536 bytes Repetitions per read (write) size: 1000 ... Conducting write test... I/O size [bytes], operations, time [s], throughput [bytes/s], I/O rate [1/s] 2,1000,0.078000,25641.025641,12820.512821 4,1000,0.176000,22727.272727,5681.818182 8,1000,0.075000,106666.666667,13333.333333 16,1000,0.073000,219178.082192,13698.630137 32,1000,0.072000,444444.444444,13888.888889 64,1000,0.073000,876712.328767,13698.630137 ... 65536,983,1.037000,62123324.975892,947.926712 Done with write test Conducting read test... I/O size [bytes], operations, time [s], throughput [bytes/s], I/O rate [1/s] 2,1000,0.061000,32786.885246,16393.442623 4,1000,0.061000,65573.770492,16393.442623 8,1000,0.061000,131147.540984,16393.442623 16,1000,0.065000,246153.846154,15384.615385 32,1000,0.061000,524590.163934,16393.442623 64,1000,0.061000,1049180.327869,16393.442623 ... 65536,985,0.864000,74714074.074074,1140.046296 Done with read test

After repeating the test parameters, the output is a simple list of comma-separated records of measured throughput vs. I/O size. This output can be easily redirected to a file for input into your favorite spreadsheet or plotting program.

Options: -s single file mode (default is filesystem) -b use low-level I/O to bypass the cache -r only test reads from an existing file (system) -v print version and exit -h print this help -m min_io minimum I/O in bytes -M max_io maximuim I/O in bytes -n reps repetitions at each io size -l file_len length of each test file in bytes

io_profile is different from other I/O performance benchmarks because:

  • It is easy to use and to understand what it measures.
  • It works the same way on Windows, Solaris, and Linux systems.
  • It measures performance of the whole I/O stack from the application's perspective, not the kernel's perspective, not a device's perspective.
  • It can be used on any volume witha filesystem, including NFS/CIFS mounts, USB drives, removable media, locally attached or SAN disks, managed volumes, even USB memory sticks.
  • It can be used to measure performance with and without the influence of the Operating System's buffer cache (where this is supported).
  • It can be used to test the performance of a filesystem by operating on a single file or on a set of files organized in a hierarchical filesystem.
  • It is distributed under the GNU Public License.

Some of the things you can do with io_profile:

  • Compare the performance of NAS/DAS/SAN or SCSI/IDE storage options in an I/O size regime that is relevant to the application this storage will support.
  • Test vendor performance claims in terms that are meaningful to your application.
  • Measure the effect of tuning and configuration changes.
  • Measure the effect of filesystem fragmentation/defragmentaton.
  • Measure the effect of the buffer cache with different memory configurations.
  • Measure the effect adding and removing storage virtualization layers.
  • Measure the effect of using partitions on the inner/outer edges of a disk.
  • Monitor an I/O stack for changes in quality of service.

How to get involved

If you would like to contribute to io_profile development, please contact us.

Download io_profile

www.21stCenturySoftware.com ©2010 Estorian, Inc. All Rights Reserved.Legal|Privacy Policy

Warning: Unknown: open(/home/content/77/5283477/tmp/sess_vj03vbr90fc0qrm75gol6rer41, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0