Code Monkey home page Code Monkey logo

fsxt's Introduction

ver0.1 on Jan. 9, 2020

fsXT

A tool for filesystem eXtreme Testing on linux.

This tool consists of two parts, a core part and an a organizing part.

  • The core part is used to generate random content, write to files, calculate md5 digests to valid writing reliability.
  • The orginaizing part is used to
  • orchestrate different number of OS processes to write, size of each write (record), number of records per file and number of files;
  • collect data of timestamps on file open, close, mv, write, read, etc. ;
  • analysize and summary collected data, and output report eventually.

The core part --- Torturefs

It is written by GNU C, abbr. is ttfs, source is in src/ttfs. You need install openssl development library before you build it.

The orginazing part

This part is all in a jupyter notebook file fsXT.ipynb.

Concept definition

  • file system -- the tested posix file system, including distributed ones, such as glusterfs, and single-host ones, such as xfs.
  • file -- the file written and read on file system.
  • record -- the entity written to file which has a fix length for one file.
  • worker -- a client of file system, technically is a process occupying a core of CPU.
  • combination -- combines arguments of length of record, number of record, files for per worker and number of workers.
  • epoch -- a turn of testing file system with an unique combination.

Aim to archieve

  • evaluate the reliability of file system.
  • find combinations of record length, record number, files, workers for the best whole effiency of host and the best process efficency.

Steps to use this fsXT

  • Before do the following steps, you should build (make) the source, the executive file fsXT will be generated and saved to fsXT/src/fsXT directory where this notebook file is in.
  • Step 1: Please adjust as your wish if the following default values of arguments are inapproporiate.
  • Step 2: Generate test scripts.
  • Step 3: Run test and wait until all epochs finished.
  • Step 4: Collect data from log files of epochs.
  • Step 5: Wrange data.
  • Step 6: Evaluate reliablity by comparing md5 digest with writing and md5 digest with reading for each file.
  • Step 7: Analysize correlationship based on epoch speed, file write speed and file read speed
  • Step 8: Score combinations on epoch speed 70%, file write speed 20%, file read speed 10%, and show top 10.
  • Step 9: Draw I/O graphs of top 10.

fsxt's People

Contributors

chengwu-nj avatar

Watchers

James Cloos 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.