File System Perfomance Test
brief manual page
© Lab of non-linear computations, SRCC, MSU, 1997
Author: Alexander N. Andreyev
(alexander@vvv.srcc.msu.su )
Last updated: Saturday, July 26, 1997.
This document is also availiable in russian language.
Purpose
The test's main purpose is to find out disk I/O bandwidth availiable to applications
and times taken by various file operations to complete.
Usage
filetest <test_folder> [N]
- test_folder - existing file system folder, where all test files will be created;
- N (optional) - number of test's iterations, defaulting to 1.
Supported platforms: Unix, Win32.
Output
Test results are printed in the table of the following form
Size,K Seg,K Write Read OvrWr Create Close Open Unlink
1 1 0.1 0.6 0.5 0.64 0.84 0.86 3.03
2 2 0.3 1.4 1.2 0.59 0.71 0.67 2.91
The table's columns are interpreted as follows
- Size and Seg - file and buffer size, in kilobytes,
- Write, Read, OvrWr - values of file write, read and overwrite bandwidth, in MB/sec,
- Create, Close, Open, Unlink - average times to create, close, open, unlink a file,
in milliseconds (1 ms = 10-4 sec).
Test routines
This sections lays out basic test routines, used by test method.
Test parameters
-
Folder - folder to locate test files
-
Size - size of test file
-
Seg - size of file's block being loaded from disk (or written to disk) in
a single file operation
(i.e. size of internal program's buffer).
Each test routine operates with file 'Folder/junk.Size'.
(A) Write Test
implemented by testFileWrite().
If file needed doesn't exits, it is created, else it is opened for (over)writing.
-
Create - time to create a new file by means of opening it for writing.
-
Write Rate - speed of writing onto disk a new file
of given size in given segments,
calculated as
W.R. = Size / (Cr+C+W),
where Cr and C - times to create and open this file, and W -
time taken by one or several calls to write().
-
Close - time to close this newly created file.
-
OverWrite Rate - speed of overwriting an existing file,
calculated as
OW.R. = Size / (O+C+W),
wher O and C - times to open and close this file, and W -
time taken by one or several calls to write().
(B) Read Test
implemented by testFileRead()
Test file must exist.
-
Open - time to open an existing file for reading
-
Read Rate - speed of reading from disk a file
of given size in given segments,
calculated as
W.R. = Size / (O+W),
where O - time to open this file, and R -
time taken by one or several calls to read().
(Ñ) Erase test
implemented by testFileUnlink()
-
Unlink - time to erase an existing file via unlink().
Test method
- Test routine A is executed for Size = 4,8,16,...K.
- Test routine B is executed for Size = 4,8,16,...K.
- Test routine A is executed for Size = 4,8,16,...K.
- Test routine C is executed for Size = 4,8,16,...K.
All these steps are executed in a loop with N iterations, average results are taken.