An rsync benchmark tool
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config_examples
src
README

README

== Dependencies ==
bash
rsync
tcpdump
gnuplot
find

== instructions ==
mkdir -p  ${XDG_CONFIG_HOME:-$HOME/.config}/rsyncbench && \
cp config ${XDG_CONFIG_HOME:-$HOME/.config}/rsyncbench && \
$EDITOR   ${XDG_CONFIG_HOME:-$HOME/.config}/rsyncbench/config

read the comments in the config
make sure that $src,$dst,$pool have enough space to hold all the data.

== running the benchmark ==
$ cd $checkout && ./src/rsyncbench # sorry, not fhs-compliant yet

note: rsyncbench does not violate SI prefixes.
 * M  means 10^6
 * Mi means 2^20

Note that ls and dd are in powers of 2 by default even when
they imply they aren't (i.e. they violate SI prefixes)

== hacking ==

Plugins won't be executed, only sourced.
They have access to everything in your config
plugins should end on .sh

Plugins go through the following phases
* init:  popuplate $pool with files you need during your benchmarking.
* run:   perform and measure rsyncs from $src to $dst, both in a specific state.
* graph: create graphs based on the results from the run.

$src and $dst are not necessarily clean when test_run is called, the idea being
you might use what's already there. but probably you'll have to delete the data first

== "I want to get other/new graphs but don't want to regenerate the data" ==
just source the plugin and type 'test_graph'


== TODO ==
* have users put $src and $pool on same FS, then most of $pool->$src can be cp -al, causing a significant speedup
* Makefile & FHS-compliancy