gnunet-tbench(1) transport profiling tool


gnunet-tbench [OPTIONS]


gnunet-tbench can be used to test the performance of the GNUnet core (link-to-link encryption and the available transport services). gnunet-tbench is useless to most ordinary users since its primary function is to test the performance and correctness of GNUnet transport service implementations.

gnunet-tbench sends a sequence of messages to another peer that has the tbench module loaded. The service then measures the throughput, latency and loss of the messages round-trip. gnunet-tbench can only be used to test a direct peer-to-peer connection. You must load the tbench module (via the configuration gnunetd.conf, section GNUNETD under APPLICATIONS) in each of the two peers before gnunet-tbench can be used.

The two peers must know of each other and be connected (use gnunet-stats to test for connections). Typically, gnunet-tbench reports the time it took to sent all specified messages and the percentage of messages lost.

load config file (defaults: ~/.gnunet/gnunet.conf)

-g --gnuplot
create output in two colums suitable for gnuplot. When using this option, concatenate the output of multiple runs with various options into a file 'tbench' and run the following gnuplot script to visualize the time/loss ratio:
set xlabel "time"
set ylabel "percent transmitted" plot "tbench" title 'Transport benchmarking' with points

, --help
print help page

Change the loglevel. Possible values for LOGLEVEL are NOTHING, FATAL, ERROR, WARNING, INFO, STATUS and DEBUG. Note that options in the configuration file take precedence over this option (the argument will be ignored in that case).

-i ITER --iterations=ITER
perform ITER iterations of the benchmark

how many messages should be used in each iteration (used to compute average, min, max, etc.)

use this option to specify the identity of the RECEIVER peer that is used for the benchmark. This option is required.

-s SIZE --size=SIZE
test using the specified message size

-S SPACE --space=PACE
use SPACE milli-seconds of delays between trains of messages

-t TIMEOUT --timeout=IMEOUT
wait TIMEOUT milli-seconds for replies to arrive before aborting

-v, --version
print the version number

-X COUNT --xspace=OUNT
use trains of COUNT messages


gnunet-tbench can run for a long time, depending on how high you have set the numbers. Run first with small numbers to get an initial estimate on the runtime.


Users GNUnet configuration file


Report bugs by using mantis <> or by sending electronic mail to <[email protected]>