Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ diskperf(1) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

diskprep(1M)

diskalign(1M)

xlv_make(1M)

mkfs(1M)



diskperf(1)                                                        diskperf(1)



NAME
     diskperf - Disk Performance Testing Utility

SYNOPSIS
     diskperf [-W] [-D] [-R] [-L] [-n<name>] [-t<n>] [-s<f>]
              [-d<f>] [-c<n>[k|m|g]] [-r<n>[k|m|g]]
              [-m<n>[k|m|g]] <testpath>

DESCRIPTION
     The purpose of this utility is to measure the performance of a disk
     configuration as either a raw volume or with a filesystem such as XFS. A
     number of different test patterns are run including forward and backward
     sequential as well as random seek read/write patterns. The output is
     tabulated in a form usable for processing by other utilities such as
     gnuplot for further analysis.

OPTIONS
     -W   By default diskperf only performs read tests. If this switch is
          supplied, write tests will also be done.

          Raw write testing will destroy partition contents !!

          For filesystem tests, any contents of the test file will be
          destroyed. Note that is the test file exists it may grow if the end
          of file is reached before the test time expires.  If the test file
          does not exist it will be created.

     -D   In the case of a filesystem test, this switch forces diskperf to use
          direct I/O when accessing the test file.  Direct I/O is only
          supported on EFS, XFS and NFS ( via BDS ) filesytems.

          This switch has no effect for raw tests.

     -R   Forces testing to take place on the real time subvolume of an XLV
          volume built with xlv_make.

     -L   In the case of a raw test, forces testing to take place on the log
          subvolume of an XLV volume built with xlv_make.

          This switch has no effect for filesystem tests.

     -n name
          Specifies an arbitrary identifying name for the test which will
          appear in the test output. This option is useful to uniquely label
          results when running from shell scripts.

     -t time
          Specifies the duration in seconds for each test component. This
          allows limiting of the run time for individual tests. Care should be
          taken to use a test time long enough to give a representative result
          from the disk configuration.




                                                                        Page 1





diskperf(1)                                                        diskperf(1)



          The default is 10 seconds.

     -s factor
          Specifies a floating point scaling factor for all the results.  This
          is useful for obtaining per-disk performance characteristics.

          The default scaling factor is 1.0

     -d seconds
          Specifies a floating point delay in seconds between each I/O
          request.  This is useful for multi-thread tests ( ie. multiple
          diskperfs running on the same volume ) to alleviate the problem of
          single threads monopolizing access to the disk hardware, which can
          be related to the fairness policies of both the disk hardware and
          the scheduler.

          The default delay is 0.0 ( no delay )

     -c size[k|m|g]
          In the case of a filesystem test, this switch forces diskperf to
          create the test file specified in <testpath> to the specified size
          in bytes, kilobytes, megabytes or gigabytes ( using suffixes ).  By
          default, diskperf assumes the test file is an existing file. This is
          useful if tests need to be done on existing representative data
          files, or particular files which may be causing problems for an
          application because of disk errors, fragmentation etc.

          This switch has no effect for raw tests.

     -r size[k|m|g]
          Specifies the minimum request size in bytes, kilobytes, megabytes or
          gigabytes ( using suffixes ). Testing will start at this request
          size and progressively double until the maximum request size is
          exceeded.

          For striped subvolumes the default is the stripe size.  Otherwise,
          the default value is 16k.

     -m size[k|m|g]
          Specifies the maximum request size in bytes, kilobytes, megabytes or
          gigabytes ( using suffixes ). This value defaults to the greater of
          the kernel maximum allowed DMA size ( controlled by the maxdmasz
          systune parameter ) and the maximum DMA size for the device.

     testpath
          Specifies the path to the file or raw device to test.

          For filesystem tests this is simply a pathname for a test file to be
          created ( or used if -N ) for performance testing. For example :






                                                                        Page 2





diskperf(1)                                                        diskperf(1)



               diskperf -D -r4k -m1m /d2/testfile
               diskperf -W -N -D -R /disk6/problemfile

          For raw tests, the is the pathname to a character device. For
          example :

               diskperf -r512k -m8m /dev/rdsk/dks10d1s7
               diskperf /dev/rxlv/stripedvolume

RAW DEVICE TESTING
     This is the lowest level of disk testing and bypasses the filesystem
     layer and hence eliminates all overhead normally incurred when accessing
     the disk via a filesystem.  Note that raw tests will require root
     priveleges to access to raw disk character

     The main reason for using a raw test is to obtain measurements close to
     the physical capabilities of the disk hardware. This gives a set of
     performance ceilings to which filesystem or application level
     measurements can be compared.

     Also, because a raw test has the freedom to access the entire addressable
     space of the disk partition, accurate and representative worst case
     random seek read/write measurements can be obtained because the seek
     distance is not bounded by the size of a test file, as is the case with
     filesystem level tests.

EXAMPLE RAW TEST
     # diskperf -W -n "FC Test #1" -t5 -m16m /dev/rdsk/dks15d1s7
     #---------------------------------------------------------
     # Test name     : FC Test #1
     # Test date     : Sun Jul 20 19:05:34 1997
     # Test machine  : IRIX64 blob 6.4 02121744 IP27
     # Test type     : Raw data subvolume
     # Request sizes : min=16384 max=16777216
     # Parameters    : direct=0 time=5
     #                 path=/dev/rdsk/dks15d1s7
     # Device size   : 142258752 blocks
     #---------------------------------------------------------
     # req_size  fwd_wt  fwd_rd  bwd_wt  bwd_rd  rnd_wt  rnd_rd
     #  (bytes)  (MB/s)  (MB/s)  (MB/s)  (MB/s)  (MB/s)  (MB/s)
     #---------------------------------------------------------
          16384    9.28   10.71    1.97    1.54    1.01    0.85
          32768   16.53   19.30    3.50    3.07    1.99    1.66
          65536   27.28   32.32    6.57    5.75    3.92    3.22
         131072   36.81   48.97   11.98   10.52    7.46    6.13
         262144   50.53   65.90   20.16   17.93   13.54   11.24
         524288   61.98   79.62   29.37   26.72   23.09   19.61
        1048576   68.34   88.94   38.32   36.26   35.52   31.46
        2097152   71.65   88.86   45.16   44.73   47.45   44.39
        4194304   72.31   88.90   50.05   49.40   55.91   56.37





                                                                        Page 3





diskperf(1)                                                        diskperf(1)



        8388608   71.93   88.81   50.73   52.16   60.39   63.18
       16777216   73.40   88.84   50.41   53.83   60.13   69.33

FILESYSTEM TESTING
     Filesystem tests perform all I/O activity through whatever filesystem is
     layered on the disk device. These tests are more representative of
     expected real world application performance because they address the disk
     through the same mechanisms used by applications working with
     filesystems. Filesystem tests perform all their testing within a supplied
     ( or created ) test file.  Care must be taken as filesystem tests can
     only work within the bounds of the test file so try to work with as big a
     test file as possible to get more representative results.

EXAMPLE FILESYSTEM TEST
     # diskalign -n "video" -r6m '/dev/dsk/dks[15-17]d1s7' | xlvmake
     video
     video.data
     video.data.0
     video.data.0.0
     Object specification completed
     # mkfs /dev/xlv/video
     meta-data=/dev/xlv/video isize=256 agcount=204 agsize=261504
     data     =             bsize=4096 blocks=53346816 imaxpct=25
     log      =internal log   bsize=4096 blocks=1000
     realtime =none           extsz=65536 blocks=0, rtextents=0
     # mount /dev/xlv/video /video
     # diskperf -W -D -n "Striped" -c2g /video/testfile
     #---------------------------------------------------------
     # Test name     : Striped
     # Test date     : Sun Jul 20 20:42:57 1997
     # Test machine  : IRIX64 blob 6.4 02121744 IP27
     # Test type     : XFS striped data subvolume
     # Disk striping : group=3  unit=4096
     # Request sizes : min=6291456 max=67125248
     # Parameters    : direct=1 time=10
     #                 path=/video/testfile
     # XFS file size : 2202009600 bytes
     #---------------------------------------------------------
     # req_size  fwd_wt  fwd_rd  bwd_wt  bwd_rd  rnd_wt  rnd_rd
     #  (bytes)  (MB/s)  (MB/s)  (MB/s)  (MB/s)  (MB/s)  (MB/s)
     #---------------------------------------------------------
        6291456   63.94  245.11   67.69  180.23   66.02  171.52
       12582912   78.15  249.03   80.68  210.87   79.22  204.64
       25165824   87.72  251.56   89.32  229.63   88.77  228.97
       50331648   91.73  239.29   92.22  228.00   92.10  230.26

BUGS
     None known







                                                                        Page 4





diskperf(1)                                                        diskperf(1)



SEE ALSO
     diskprep(1M), diskalign(1M), xlv_make(1M), mkfs(1M)

NOTES
     None

AUTHOR
     Will McGovern ( willmc@sgi.com )
     Advanced Entertainment Systems Division
     Silicon Graphics Inc.













































                                                                        Page 5



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026