Object Storage Benchmark’s documentation

Installation

From Pypi

pip install os-benchmark

From source

pip install https://github.com/cloudmercato/os-benchmark/archive/master.zip

Configuration

As Object storages require authentication and other custom parameters, this software provide a way to use several configuration.

File format

Drivers configuration are stored as a YAML file containing one or several profile. Blow an example of file:

---
exoscale-dk-2:
  driver: exoscale
  aws_access_key_id: MyKey
  aws_secret_access_key: MySecret
  endpoint_url: https://sos-ch-dk-2.exo.io

exoscale-vie-1:
  driver: exoscale
  aws_access_key_id: MyKey
  aws_secret_access_key: MySecret
  endpoint_url: https://sos-ch-vie-1.exo.io

This file provides two profiles for an Exoscale benchmark, on in DK-2 and the other one in CH-VIE-1.

File choice

The general behavior is the following:

  1. Configuration specified by user via CLI or Python
  2. If environment variable OSB_CONFIG_FILE is set
  3. ~/.osb.yml
  4. /etc/osb.yml

Only the first file is used.

Command line usage

OS-Benchmark is powered by a command line tool: os-benchmark

Benchmark

Actually 2 scenarios are available time-upload and time-download. They are designed to:

  • Setup the test environment
  • Launch tests
  • Tear down
  • Output result

Here’s an exemple of output from os-benchmark:

version         0.1
operation               download
ops             50
time            0.001370
rate            101458.732463
bw              99.080793
object_size             1024
total_size              51200
test_time               0.000493
avg             0.000010
stddev          0.000001
med             0.000010
min             0.000009
max             0.000013

time-upload

Example::

os-benchmark time-upload --object-size 1024 --object-number 1

time-download

Example::

os-benchmark time-download --object-size 1024 --object-number 1

Bucket management

os-benchmark provides operations for manage your bucket:

  • create-bucket
  • list-buckets
  • delete-bucket
  • list-objects
  • upload
  • download
  • delete-object
  • clean-bucket: Remove all files and delete a bucket
  • clean: Remove all objects and buckets

Indices and tables