dbench - Measure disk throughput for simulated netbench run
tbench [options]numclientsserver tbench_srv [options]
This manual page documents briefly the dbench and tbench 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
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.
Both dbench and tbench 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.
The dbench program takes a number, which indicates the number of
clients to run simultaneously. It can also take the following options:
Use this as the full path name of the client.txt file (the
default is /usr/share/dbench/client.txt).
-s Use synchronous file IO on all file operations.
set the runtime of the benchmark in seconds (default 600)
-D DIR set the base directory to run the filesystem operations in
-x enable xattr support, simulating the xattr operations Samba4
would need to perform to run the load
-S 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:
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_SNDBUF=number, SO_RCVBUF=number,
SO_SNDLOWAT=number, SO_RCVLOWAT=number, SO_SNDTIMEO=number,and
SO_RCVTIMEO=number. See socket(7) for details about these
The tbench_srv can only take one option: -T option[,...] as
/usr/share/doc/dbench/README 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
June 18, 2005