OS-Benchmark is a simple tool to measure object storage operations.
- Upload timing
- Download timing
- Multi-part Download timing
- Copy timing
- cURL timing
- Video Streaming
- Apache Benchmark
- Ping
- TCP-Ping
- Traceroute
- TCP-Traceroute
pip install os-benchmark
You need to specify a YAML config file such as following:
--- my_exoscale: # Configuration ID driver: exoscale # Driver key aws_access_key_id: mykey # Drivers params aws_secret_access_key: mysecrect endpoint_url: https://sos-ch-dk-2.exo.io
In command line, --config-file
and --config-raw
can be used to make the
choice, else ~/.osb.yml
, then /etc/osb.yml
will be used.
os-benchmark --help usage: os-benchmark [--config-file CONFIG_FILE] [--config-raw CONFIG_RAW] [--config-name CONFIG_NAME] [-v {0,1,2}] [-i] {help,create-bucket,list-buckets,delete-bucket,list-objects,upload,delete-object,clean-bucket,clean,time-upload,time-download,time-multi-download} ... positional arguments: {help,create-bucket,list-buckets,delete-bucket,list-objects,upload,delete-object,clean-bucket,clean,time-upload,time-download} Sub-command optional arguments: --config-file CONFIG_FILE Specify a configuration file to use. --config-raw CONFIG_RAW Provide a raw configuration as JSON instead of a stored file. --config-name CONFIG_NAME Select a driver configuration to use. -v {0,1,2}, --verbosity {0,1,2} Verbosity level; 0=minimal output, 1=normal output 2=verbose output -i, --noinput Disable any prompt
$ os-benchmark time-upload --object-size 1 --object-number 5 version 0.1 operation upload ops 5 time 2.701468 rate 1.850845 bw 0.000002 object_size 1 total_size 5 avg 0.539478 stddev 0.126987 med 0.537267 min 0.415063 max 0.744637
On linux based OS, if you use a non-root user, it must be allowed to create sockets. Please use sudo or the following command to allow your user::
setcap cap_net_raw=eip $(readlink -f $(which python))
This project is created with ❤️ for free by Cloud Mercato under BSD License. Feel free to contribute by submitting a pull request or an issue.