sio_ntap: Simulated I/O (sio) Manual Page - Network Appliance

Overview

Manual page for the Simulated I/O tool (sio_ntap). 

  1. What is sio_ntap?
  2. What are the command line options?
  3. Example Inputs
  4. Sample Output
  5. sio_ntap compared to the Unix dd command


What is sio_ntap?

sio (acronym for Simulated I/O) is a general purpose I/O load generator. It performs synchronous I/O's to the specified file(s).  The main purpose is to generate various I/O loads while collecting some basic statistic. In general, sio allows the user to control:

After completing the specified workload, sio generates several basic statistics:

sio is meant to enable I/O performance testing without having to create large application structures (such as databases). For example, sio can "approximate" a TPC-C like workload by specifying (for instance) a 2 to 1 read/write ratio, of 4k transfer sizes, with the appropriate number of threads. While the emulation is not exact, the approximation provides valuable insight into I/O subsystem performance.

Back to Top


What are the command line options?

The command line options are expressed here (obtained by running sio with no command line options):

Usage: sio Read% Rand% Blk_Size File_Size Seconds Thread Filename [Filename]

where

optional options

Back to Top


Input Examples

Back to Top


Sample Output

server% sio 100 100 512 1m 10 1 testfile
Version: 3.00

SIO_NTAP:
Inputs
Read %:		100
Random %:	100
Block Size:	512
File Size:	999936
Secs:		10
Threads:	1
File(s):	testfile
Outputs
IOPS:		1995
KB/s:		998
IOs:		19974

The first block of output is simply a restatement of the command line inputs. Under the "Outputs" column, there are three result variables.  

Beware when making comparisons among platforms or technologies. The most common issue is comparing I/O's that are cached on the I/O device with some other measurement of unCached I/O's.

Back to Top


sio compared to the Unix dd command

Many times, "dd" is the first "performance test" that is run against a new I/O subsystem. As a water test, this is fine. As a real measure of overall performance, dd and sio differ in a number of ways:

  1. Single threaded. dd is a single threaded test. While this provides some measure of throughput, it does not measure "maximum" throughput, since a single threaded requestor is heavily affected by I/O latency. sio allows both single thread and multiple thread workloads.
  2. dd has a fairly restricitve data movement paradigm: read from one file write to another. sio allows simulation of a wide range of workloads, including sequential and random I/O's, read and write workloads, etc.
  3. dd's run time is dictated by the file size. To obtain really long runs, dd needs either a large file or requires repetitive runs (making stats collection difficult). sio can run any amount of time on any size file. This simply makes testing sustained performance workloads easier.
  4. dd's stats are somewhat limited. sio provides the three most useful stats in a concise form. Also, sio has the capability to collect more extensive statistics in certain environments.

Back to Top

Revised: July 01, 2004