Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
dht
README.md
benchmark.py
dhtcluster.py
http_server.py
network_monitor.py
pingpong.py
scanner.py

README.md

Benchmark

The benchmark.py script is used for testing OpenDHT in various cases. If you run benchmark.py --help, you should find the following text:

optional arguments:
  -h, --help            show this help message and exit
  --performance         Launches performance benchmark test. Available args
                        for "-t" are: gets.
  --data-persistence    Launches data persistence benchmark test. Available
                        args for "-t" are: delete, replace, mult_time.
                        Available args for "-o" are : dump_str_log,
                        keep_alive, trigger, traffic_plot, op_plot. Use "-m"
                        to specify the number of producers on the DHT.Use "-e"
                        to specify the number of values to put on the DHT.

These options specify the feature to be tested. Each feature has its own tests. You specify the test by using -t flag (see benchmark.py --help for full help).

Python dependencies

  • pyroute2 >=0.3.14
  • matplotlib
  • GeoIP (used by scanner.py for drawing map of the world)
  • ipaddress
  • netifaces
  • networkx
  • numpy

Usage

Before running the script, you have to build and install OpenDHT and its cython wrapper (cython3 has to be installed) on the system so that it can be found by the benchmark script.

$ cd $OPENDHT_SRC_DIR
$ ./autogen.sh
$ ./configure
$ make && sudo make install

Then, you can use the script like so:

$ cd $OPENDHT_SRC_DIR/python/tools/
$ python3 benchmark.py --performance -t gets -n 2048