dbench

We used dbench as one of our benchmark tools in our large journaling file systems performance tests.

dbench (samba.org/ftp/tridge/dbench) is an emulation of the file system load function of the Netbench benchmark. It does all the same I/O calls that the smbd server daemon in Samba would produce when it is driven by a Netbench workload. However, it does not perform network calls. This benchmark is a good simulation of a real server setup (such as Web-server, proxy-server, mail-server), in which a large amount of files with different sizes and directions have to be created, written, read, and deleted.

dbench takes only one parameter on the command line, which is the number of processes (clients) to start. Issuing the command “dbench 30” for example, creates 30 parallel processes of dbench. All processes are started at the same time and each of them runs the same workload. The workload for each dbench process is specified by a client.txt configuration file in the working (testing) directory. It consists of a mixture of file system operations executed by each dbench process. dbench runs with n parallel processes and delivers only one value as a result. The resulting value is an average throughput of the file system operations described in client.txt and measured in megabytes per second.

With a large amount of memory, dbench measurements can be used to detect the effects of memory scaling.

For the dbench workload used for our measurements the number of clients was scaled as shown in the following sequence: 1, 4, 8, 12, 16, 20, 32, 40, 46, 50, 54, 62.