GithubHelp home page GithubHelp logo

intel-cloud / cosbench Goto Github PK

View Code? Open in Web Editor NEW
573.0 573.0 239.0 183.73 MB

a benchmark tool for cloud object storage service

License: Other

Java 88.60% HTML 0.01% CSS 0.74% Shell 1.30% FreeMarker 9.01% Batchfile 0.34%

cosbench's People

Contributors

apeter0807 avatar cxquan avatar ddeflyer avatar fvennetier avatar genandre avatar hrchu avatar jian-zhang avatar khushbus27 avatar mcspring avatar mycodediary avatar niklas974 avatar noralife avatar tsg- avatar yllions avatar ywang19 avatar zoran-rajic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cosbench's Issues

faster data deletion

The tool must be able to reclaim disk space in under 4 hours between test runs to prevent storage devices from being filled. (Default background garbage collection may take 2hours -10 days or longer… duration varies by system load)

action required:
. Add explanation why disk space is not release even object is deleted.

document & sample improvement

Need improve document & samples to resolve a few confusions:

  1. why disk space is not release even object is deleted?
    --> need some explanations in document, and it should cover swift and amplistor.
  2. the diagrams in user guide are specific to swift, need generic diagrams for both swift and amplistor.
    --> need some generic diagrams and terms to cover different storage system in document.
  3. how can save the files from being automatically cleaned up at the end of the test run? need samples to demostrate them.
    --> need some samples to show how to reuse data across test runs.
  4. how to install COSBench and have it start automatically after a reboot?
    --> need FAQ to show how to auto start COSBench.
  5. why there are errors at war deployment?
    --> It's an known issue, but doesn't affect real functionality. Actually, it is caused by osgi bundle loading mechanism.
  6. in ipv6 env, socket can not bind, how to resolve it?
    --> it's a tomcat related issue, one workaround is to set the ip address in tomcat server configuration file, need FAQ to show it.
  7. why the parameter list shown on UI is a bit different from xml file?
    --> need explanation in document.

dash board

provide a simplified dash board (or file) for test execution summary that shows current execution state of COSBench as well as Object Store performance as observed from traffic across all API interface(s); usability issue

Sleep between stage

: Need a way to put system to sleep between runs (to allow separation of data) eg., IOMeter “idle” - can be combined with earlier request covering job management

support S3 interface

S3 interface is a popular public cloud interface, we will deliver one S3 adapter in upcoming version 0.3.1.

RangeIntGenerator does not split Range properly

The RangeIntGenerator is supposed to split the range in to su-ranges for every thread, and return different ints to different threads. So for a range of 100, used by 10 threads, the first thread should get ints 1-10, the second thread should get 11-20, etc…

As there is only one offset pointer (cursor) implemented, this can not work. If threads one, two, three ask in this order, thread one will get "1", thread two will get "12", thread 3 will get "23", etc…

I think the Class can not be implemented properly with the given signature of next(), as one can not be sure that the amount of threads won't change. If the amount of threads given by "int all" changes, all the splitting of the range breaks apart.

Also synchronizing does next() not give best performance. It would be better to use AtomicInt for the pointer (cursor).

SSL supporting

if the certificate is self-signed, java doesn't trust it. but at internal evaluation case, self-sign certificate is often used, need support it.

Read operation's performance data missing on Amplidata

There was no performance data seen on any of the six metrics when read operation was performed on Amplidata (version 3.1.4).

Cosbench versions tried were (0.3.0.0, 0.3.1.0 and 2.1.0-GA) with multiple drivers (4)
and different workloads (100%read, 90% read, 80% read)

real-time performance graph

The tool should supply real-time performance and progress data that can be displayed during a demonstration… Today you must configure small files for the test to complete during demo time windows. We want to demonstrate large objects.

Cosbench terminates during test phase during read/write/delete operations

Cosbench terminates during the test phase - especially when what seems to be putting the object store under stress. This should not happen, it should report errors during test run as failed attempts and should impact completion percentage, but not terminate the the test stage. My tests use timed runs not totalops.

support public cloud

expect to see more adaptors for public cloud will be added. The upcoming one is S3.

Action:
one alpha version is included, need more verification or enhancement.

Routing S3 traffic to/from specific AWS S3 region

I need to route S3 requests to specific S3 regions (i.e. url) and not rely on AWS network maps to route the standard s3 URL. This control is need to ensure controlled environment for specific S3 AWS test configurations.

self-test

The tool must have a self-test mode that can identify failures of workers and controllers. If workload gets failed, need identify which part causes the failure.

time synchronization

maintain time synchronization of less than 100mSec with the tool’s NTP Service. This means stimulus to the Object Store can be coordinated across all Generators. It is desirable to sync the COSBench NTP service with the Object Store’s NTP resource if available

Error handling improvement

A few areas need improve to help quicker trouble shooting:

  1. If workload gets failed, need identify which part causes the failure.
  2. while the target Amplistor doesn’t enable the port. There is no warning in log.
  3. Check status of drivers if stuck/ crashed before commencement of test

can't check if started properly on Debian Squeeze

Hi there,

On my debian squeeze System, cosbench was not able to check if it started properly when calling start-all.sh because in cosbench-start.sh on line 82 netcat would not end.

I fixed it with a simple patch but I am not sure about its implications for other systems… So I am posting here...

my Patch:

diff --git a/0.3.0.0/cosbench-start.sh b/0.3.0.0/cosbench-start.sh
index 016a0ff..28a93ce 100644
--- a/0.3.0.0/cosbench-start.sh
+++ b/0.3.0.0/cosbench-start.sh
@@ -32,6 +32,8 @@
TOMCAT_CONFIG=conf/$SERVICE_NAME-tomcat-server.xml

TOOL="nc"
+TOOL_PARAMS="-q 1"
+

#-------------------------------

MAIN

@@ -79,7 +81,7 @@
attempts=60
while [ $ready -ne 1 ];
do

  •            echo "ss -s ACTIVE cosbench" | $TOOL localhost $OSGI_CONSOLE_PORT | grep $module >> /dev/null
    
  •            echo "ss -s ACTIVE cosbench" | $TOOL $TOOL_PARAMS localhost $OSGI_CONSOLE_PORT | grep $module >> /dev/null
             if [ $? -ne 0 ];
             then
    

async http requests

so far in one worker, the http request is synchnous, at high latency case, it will bring difficulty to saturate target system.

xml validator

The tool must have an XML test file checker that report any syntax errors with the configuration files.

. XML validator

  • syntax (first step)
  • parameter checking (next step)

support CDMI interface

CDMI is an emerging cloud storage interface, expect to evaluate it and add corresponding adapter.

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.