Windows 2000 Disk io performance Leonard Chung
|
bet | 10/47 |
Sana | 30.03.2021 |
Hajmi | 1,33 Mb. |
| #13789 |
|
Table 7– DMA vs. PIO – 64KB unbuffered reads. DMA delivers greater throughput with less CPU utilization. DMA needs to be enabled for good performance. Since IDE RAID cards masquerade as SCSI controllers, they don’t require the user to specify DMA or PIO.
|
This section examines how these measurements were done along with issues we encountered.
Throughput measurement
SQLIO served as the primary test program for our measurements.
SQLIO is a workload generation and measurement tool that allows the user to specify for how long a file should be read or written and various parameters about how the IO should be done. Along
with measuring throughputs,
SQLIO outputs system and kernel timing information.
SQLIO is used by Microsoft’s NT Performance Group for their tests.
sqlio2 is a complete rewrite of
SQLIO. Among its features are the ability to plug in IO “personalities” which are modules specifying different
ways of doing disk IO, a cleaner code base, and more flexible test parameter specification and result output.
In order to ensure
the uniformity of results, each disk was first formatted before test files were copied to the disk in the same order. This made certain that our tests were always run from the same outer tracks on each disk, reducing the problem of media banding and maximizing test results.
We also scrubbed the file system cache between buffered runs in order to ensure our requests were going to disk instead of cache.
Unless otherwise noted,
SQLIO was used to generate all of the results in this paper except for buffered tests.
SQLIO was found to underreport the throughput of buffered reads during testing so
cacheflush was used for all buffered measurements.
SQLIO was modified to generate a trace file that is easily imported to an Excel spreadsheet or relational database. The format of the trace file is a comma-separated list where each line has the format: