Product guide

12
Maximizing performance in Windows
If your application requires a small number of
I/Os and the transfers are rather small, however,
you may get better performance by letting the
system cache your data in the system pages.
You might want to use over-lapped I/O using the
FILE_FLAG_OVERLAPPED
option with
the
CreateFile
call. Overlapped I/O allows the
application to send many commands to the device
at once.
The ATTO Disk Benchmark program, included
with the ExpressPCI Utilities on the CD shipped
with your ExpressPCI adapter, shows the effect of
using the above I/O modes.
If you turn off Direct I/O and set the file size to a
value significantly less than the amount of
memory in your computer, you may observe
some artificially high transfer rates because very
little I/O is actually being performed by the SCSI
device: all the activity is involved in transferring
data between the application and the system
pages.
As you increase the file size to a value more than
the amount of memory in your computer,
performance degrades significantly.
If you turn on Direct I/O, you can see the effect
of removing the system pages from the
overhead picture.
If you use overlapped I/O, performance
improves in low to medium transfer sizes.
However, depending on the amount of memory
in your computer, you may not be able to use
queue depths greater than 4 or 5.