Whamcloud - gitweb
78fa376bd010e7f0a320fd908b2e70d36137d8dd
[fs/lustre-release.git] / lustre-iokit / sgpdd-survey / README
1
2 Requirements
3 ------------
4
5 . sg3_utils (for sgp_dd)
6 . SCSI device
7
8
9 Overview
10 --------
11
12 This survey may be used to characterise the performance of a SCSI device.
13 It simulates an OST serving multiple stripe files.  The data gathered by it
14 can help set expectations for the performance of a lustre OST exporting the
15 device.
16
17 The script uses sgp_dd to do raw sequential disk I/O.  It runs with
18 variable numbers of sgp_dd threads to show how performance varies with
19 different request queue depths.
20
21 The script spawns variable numbers of sgp_dd instances, each reading or
22 writing a separate area of the disk to show how performance varies with the
23 number of concurrent stripe files.
24
25
26 Running
27 -------
28
29 The script must be customised according to the particular device under test
30 and where it should keep its working files.   Customisation variables are
31 described clearly at the start of the script.
32
33 When the script runs, it creates a number of working files and a pair of
34 result files.  All files start with the prefix given by ${rslt}.
35
36 ${rslt}_<date/time>.summary    same as stdout
37 ${rslt}_<date/time>_*          tmp files
38 ${rslt}_<date/time>.detail     collected tmp files for post-mortem
39
40 The summary file and stdout contain lines like...
41
42 total_size  8388608K rsz 1024 thr     1 crg   1  180.45 MB/s   1 x  180.50 =  180.50 MB/s
43
44 The number immediately before the first MB/s is the bandwidth computed by
45 measuring total data and elapsed time.  The other numbers are a check on
46 the bandwidths reported by the individual sgp_dd instances.
47
48 If there are so many threads that sgp_dd is unlikely to be able to allocate
49 I/O buffers, "ENOMEM" is printed.
50
51 If not all the sgp_dd instances successfully reported a bandwidth number
52 "failed" is printed.
53
54
55 Visualising Results
56 -------------------
57
58 I've found it most useful to import the summary data (it's fixed width)
59 into Excel (or any graphing package) and graph bandwidth v. # threads for
60 varying numbers of concurrent regions.  This shows how the device performs
61 with varying queue depth.  If the series (varying numbers of concurrent
62 regions) all seem to land on top of each other, it shows the device is
63 phased by seeks at the given record size.
64