dbench - Measure disk throughput for simulated netbench run
This manual page documents briefly the dbench
benchmarks. This manual page was written for the Debian GNU/Linux distribution
because the original program does not have a manual page. However, it has
fairly easy to read source code.
Netbench is a terrible benchmark, but it's an "industry standard" and
it's what is used in the press to rate windows fileservers like Samba and
Given the requirements of running netbench (60 and 150 Windows PCs all on
switched fast ethernet and a really grunty server, and some way to nurse all
those machines along so they will run a very fussy benchmark suite without
crashing), these programs were written to open up netbench to the masses.
read a load description file called
client.txt that was derived from a network sniffer dump of a real netbench
run. client.txt is about 4MB and describes the 90 thousand operations that a
netbench client does in a typical netbench run. They parse client.txt and use
it to produce the same load without having to buy a huge lab.
dbench produces only the filesystem load. It does all the same IO calls that the
smbd server in Samba would produce when confronted with a netbench run. It
does no networking calls.
tbench produces only the TCP and process load. It does the same socket calls
that smbd would do under a netbench load. It does no filesystem calls. The
idea behind tbench is to eliminate smbd from the netbench test, as though the
smbd code could be made infinately fast.
program takes a number, which indicates the number of clients
to run simultaneously. It can also take the following options:
- -c client.txt
- Use this as the full path name of the client.txt file (the
default is /usr/share/dbench/client.txt).
- Use synchronous file IO on all file operations.
- -t TIME
- set the runtime of the benchmark in seconds (default
- -D DIR
- set the base directory to run the filesystem operations
- enable xattr support, simulating the xattr operations
Samba4 would need to perform to run the load
- Use synchronous IO for all directory operations (unlink,
rmdir, mkdir and rename).
The tbench program takes a number, which indicates the number of
clients to run simultaneously, and a server name: tbench_srv should
be invoked on that server before invoking tbench. tbench can
also take the following options:
- -T option[,...]
- This sets the socket options for the connection to the
server. The options are a comma-separated list of one or more of the
following: SO_KEEPALIVE, SO_REUSEADDR, SO_BROADCAST,
SO_NODELAY, SO_LOWDELAY, SO_THROUGHPUT,
SO_SNDTIMEO=number,and SO_RCVTIMEO=number. See
socket(7) for details about these options.
The tbench_srv can only take one option: -T option[,...] as
contains the original README by Andrew
Tridgell which accompanies the dbench source.
This manual page was originally written by Paul Russell
<firstname.lastname@example.org>, for the Debian GNU/Linux system (but may
be used by others). Modified and updated by Mattias Nordstrom