Menu

Home

mike cannon

to build on linux you do this:
svn checkout svn://svn.code.sf.net/p/diskperf/code/trunk diskperf-code
cd diskperf-code
make

to build on solaris:
svn checkout svn://svn.code.sf.net/p/diskperf/code/trunk diskperf-code
cd diskperf-code
cc -m64 -O -o diskperf diskperf.c

diskperf argument descriptions:
-b “buffer size” amount of data per transfer
-c “count” number of transfers
-d to force direct io (only supported on some system, default is off.)
-p number of process, default is 1
-w number of files to write per process
-r number of files to read per process
-s each process will utilize a separate directory

Common usage with diskperf for streaming throughput:
diskperf -b 1m -c 10240 -w 1 -d -p 1

1MB IOs will be transferred 10240 yielding a file size of 10 GB.
Both diskperf and IOzone yield statistically similar results when run with this command sets:
diskperf -b 1m -c 10240 -w 1 -d -p 1
iozone -i 1 -c -e -w -r 1024k -s 10g -t 1 -+n -I

Diskperf is not highly compressible data, and makes interesting tests on systems that do dedupe or with tape drives that auto compress data.

When looking to test metadata operations as such as file creates diskperf can be used as follows:
time diskperf -w 1000000 -c 0 -p 1

This will create one million 0k files in the current directory. Increasing the process count to two and with the addition of the -s parameter will cause two processes to create a million files in two separate directories.
time diskperf -w 1000000 -c 0 -p 2 -s


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.