GithubHelp home page GithubHelp logo

juicedata / cassandra-fio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ibspoof/cassandra-fio

1.0 4.0 0.0 28.29 MB

Collection of fio configs and helper scripts to emulate Cassandra workloads and generate graphs

License: MIT License

Shell 100.00%

cassandra-fio's Introduction

Cassandra Fio

This project has a collection of Fio tests that emulate Cassandra's read and write patterns for both STCS and LCS compaction strategies. There is a bash script fio_runner.sh that both runs the tests and if gnuplot is installed will generate svg reports for the read/write patterns.

There are both LCS and STCS configurations that will target Cassandra's SSTable file size and concurrent compaction settings. LCS configurations will create 10 files of size 160mb with one write a time and random reads across 5 files at a time whereas STCS will create 10 files of random size between 150mb and 5g with 2 files written at a time and random reads across 5 files.

Usage

Each individual test can be run manually using fio {fioFile} or through the fio_runner.sh. By default the fio_runner.sh will run all of the .fio files in the local directory. Passing one of the following options will limit the tests to the appropriate fio configs:

  • fio_runner.sh 32k
  • fio_runner.sh 64k
  • fio_runner.sh lcs
  • fio_runner.sh stcs
  • fio_runner.sh all

If fio is manually compiled and is not in the default bin directories the path to the binary can be passed in the second argument. Example: fio_runner.sh all /opt/fio/fio

All data files are written to the local ./data directory and after each run are auto-deleted to avoid space usage. Fio output logs are saved to the ./logs directory. Run outputs are saved to the local ./reports directory.

If a ./logs directory or ./report exists when the runner script is started, they will be archived to a new directory using the current epoch timestamp i.e. logs_1485634043.

Output Graphs

If fio_generate_plots is installed the throughput (bandwith), latency and iops reports will found in ./logs will be auto generated and stored in the ./reports directory after all tests are completed. All read and write reports will be grouped together for each run in the same output files.

Example Graph: alt tag

Modifying configurations

See either of the lcs.*.fio files to view all the config settings and documentation on all of the settings and alternative options.

Requirements

  • fio 2.1.x+
  • fio_generate_plots/gnuplot (optional)

Extras

Special thanks to @tobert for his Cassandra fio configuration examples used as the starter for this project.

cassandra-fio's People

Contributors

ibspoof avatar rhardouin avatar

Stargazers

 avatar

Watchers

 avatar  avatar  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.