aboutsummaryrefslogtreecommitdiffstats
path: root/system_cmds/iosim.tproj/iosim.1
blob: a3e8719fc714228a3a0fe16f231145f43d10109e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
.\" Copyright (c) 2013, Apple Inc.  All rights reserved.
.\"
.Dd Oct 9, 2013
.Dt IOSIM 1
.Sh NAME
.Nm iosim
.Nd A performance tool to simulate I/O workloads.
.Sh SYNOPSIS
.Pp
.Nm iosim
.Ar -c <number>
Burst Count. No. of I/Os performed in an I/O burst.
Default Value: 10
Valid Range: [0, INT_MAX]
.Pp
.Nm iosim
.Ar -i <msecs>
Inter Burst Duration. Amount of time each thread sleeps between bursts (-1 indicates random durations between 0-100 msecs)
Default Value: 0
Valid Range: [-1, INT_MAX]
.Pp
.Nm iosim
.Ar -d <msecs>
Inter I/O delay. Amount of time thread sleeps between issuing I/Os
Default Value: 0
Valid Range: [0, INT_MAX]
.Pp
.Nm iosim
.Ar -t <number>
Thread count
Default Value: 1
Valid Range: [0, 1000]
.Pp
.Nm iosim
.Ar -f <number>
Workload Type (0/1/2 : Read-Only/Write-Only/Mixed RW)
Default Value: 0
Valid Range: [0, 2]
.Pp
.Nm iosim
.Ar -m <number>
I/O Pattern (0/1 : Sequential/Random)
Default Value: 0
Valid Range: [0, 1]
.Pp
.Nm iosim
.Ar -j <bytes>
Size of I/O in bytes
Default Value: 4096
Valid Range: [0, INT_MAX]
.Pp
.Nm iosim
.Ar -s <msecs>
Frequency of sync() calls
Default Value: 5000
Valid Range: [0, INT_MAX]
.Pp
.Nm iosim
.Ar -l <number>
I/O Tier (0/1/2/3)
Default Value: 0
Valid Range: [0, 3]
.Pp
.Nm iosim
.Ar -z <number>
Size of the file created specified in pages (Only used when the file is being created by the tool)
Default Value: 1 GB
Valid Range: [0, INT_MAX]
.Pp
.Nm iosim
.Ar -x <secs>
Test duration (0 indicates that the tool would wait for a Ctrl-C)
Default Value: 0
Valid Range: [0, INT_MAX]
.Pp
.Nm iosim
.Ar -a number
I/O Caching behavior (0/1 : Non-cached/Cached)
Default Value: 0
Valid Range: [0, 1]
.Pp
.Nm iosim
.Ar -n <filename>
Filename for I/Os (If this option is not specified, the tool would create files on its own)
Valid Range: Valid filename
.Sh DESCRIPTION
The
.Nm iosim
tool allows simulating workloads for I/O performance evaluation. The tool spawns 'n' threads which issue non-cached I/Os. If specified, it also creates a sync thread which issues system wide sync() calls to flush data and metadata to disk (emulates launchd behavior). The I/Os are issued at the specified I/O tier and the tool reports latency and throughput numbers.
.P
.nf
Following is an explanation of the results:
Avg. Latency : Avg. latency experienced by the I/Os.
Low Latency Histogram: Frequency distribution of I/O latency for low latency I/Os.
Latency Histogram: Frequency distribution of I/O latency.
Burst Avg. Latency Histogram: Frequency distribution of burst avg. latency.
Throughput timeline: Time windowed throughput distrbution.  
.fi
.Sh SEE ALSO
.Xr fs_usage 1