! MODULE        TESTDEV.HLP
! VERSION       2.2
!
! COPYRIGHT © 1990-1997, Stephane Germain. ALL RIGHTS RESERVED.
!
! This file describes the TESTDEV utility functions and interface commands.
!
! This module is to be included in the system help library SYS$HELP:HELPLIB.HLB
! or a substitute directory within SYS$HELP search path. Alternately, this file
! could be independantly put in a completely separate library path which would
! then be invoked explicitely by the user (HELP/LIBRARY=) or be pointed to by
! HLP$LIBRARY_*.
!
1 TESTDEV

 This utility program performs read-I/O's to a disk and produces performance
 statistics. Physical I/O privilege is required.

 Format:

   TESTDEV  disk-device

2 Parameter

  Specifies the (logical or physical) device name of the disk to be tested.
2 Qualifiers
/BLOCK_PER_IO
 /BLOCK_PER_IO[=number]

  Specifies the size of each IO, in blocks. The default is 1 block/IO.
/COVERAGE
 /COVERAGE=pattern

  Specifies the seek pattern. The default is random seek within the
  default or specified range.

  Pattern:      RANDOM[=seed] (default=12345678)
                or
                SEQUENTIAL

  Sequential coverage operates over a single stream only.
/IO
 /IO[=number]

  Specifies the total number of IO's to perform. The default is 1000 IO's.
/REPORT
 /REPORT[=type] (default)
 /NOREPORT

  Specifies which results to produce and presentation style.

  Type:         DISTRIBUTION=style

  Style:        CENTERED_ON_AVERAGE[=elements]
                UNIFORM_SPACING[=elements]     (default=15)

  Uniform style breaks down the overall response time range into a number
  of fixed-sized intervals. Centered style shows greater time resolution
  around the computed average value.
/SEEK_RANGE
 /SEEK_RANGE=(boundary[,...])

  Specifies the logical or physical maximum area to seek on disk.

  Boundary:     MEGABYTE[=value] (default=0 for entire-volume)
                or
                FROM_LBN=lower_number (inclusive)
                TO_LBN=upper_number (inclusive)
/STREAM
 /STREAM[=number]

  Specifies the number of parallel IO's to perform to the device. The
  default is a single (1) stream.

2 Examples

  $ TESTDEV dka0 /BLOCK=4/SEEK=MEGABYTE=100

  This is typical for normal VMS activity. In this case, each IO retrieves
  4 blocks (2048 bytes). Access is random over a logical 100 MB area.

  Doing the same command repeatedly will likely result in smaller IO average
  times, to a certain point. This effect is due to the various caches (VMS,
  controller, disk) which reduce the amount of actual physical IO's which
  must be performed.

  To vary the random pattern, use a different seed, such as:

  $ TESTDEV dua100 /BLOCK=4/SEEK=MEGABYTE=100/COVERAGE=RANDOM=620418

  To activate multiple concurrent streams:

  $ TESTDEV dia5 /IO=2000/STREAM=4

  In this case, each stream will perform 500 IO's.
