Giter Club home page Giter Club logo

os-benchmark's Introduction

Object Storage Benchmark

https://travis-ci.org/cloudmercato/os-benchmark.svg?branch=master https://coveralls.io/repos/github/cloudmercato/os-benchmark/badge.svg?branch=master Documentation Status

OS-Benchmark is a simple tool to measure object storage operations.

Features

Benchmarks

  • Upload timing
  • Download timing
  • Multi-part Download timing
  • Copy timing
  • cURL timing
  • Video Streaming
  • Apache Benchmark
  • Ping
  • TCP-Ping
  • Traceroute
  • TCP-Traceroute

Install

pip install os-benchmark

Usage

Configuration

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.

Command line

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

Test example: File uploading

$ 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

Network tests configuration

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))

Contribute

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.

os-benchmark's People

Contributors

zulupro avatar pilgrimstack avatar

Stargazers

Chris Adams avatar Mowdep avatar jon ⚝ avatar YeChongjie avatar  avatar Kefan You avatar  avatar Brandon Welsch avatar Stanislas avatar Antoine Coetsier avatar

Watchers

James Cloos avatar Antoine Coetsier avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.