#unstable #speed #system #io #disk #read-write #testing

app mizumochi

mizumochi is a tool to simulate unstable disk I/O for testing stability/robustness of system. The word unstable here means read/write speed is slowdown

1 unstable release

Uses old Rust 2015

0.1.0 Jun 25, 2018

#41 in #speed

MIT/Apache

63KB
1.5K SLoC

mizumochi

Crates.io Crates.io License: Apache OR License: MIT

mizumochi is a tool to simulate unstable disk I/O for testing stability/robustness of system.
The word unstable here means read/write speed is slowdown.

We assume mizumochi works on develop environment with target system.

zargony/rust-fuse are used to maps actual files in the given directory to files on the mountpoint. Note that some FUSE callbacks (e.g., link) are not implemented yet. (work in progress)

Install

You have to install OSXFUSE for macOS or FUSE for Linux before installing mizumochi.

cargo install mizumochi

Features

  • Mode
    • Periodic
      • The stable/unstable is toggled periodically.
  • Interfaces
    • Command line interface (CLI)
      • CLI is primary interface.
      • Refers mizumochi --help in details.
    • HTTP API
      • There are some TODOs.
      • The config (e.g., speed, condition to switch stable/unstable) can be modified on runtime via this interface.

Examples

# Emulate files in `real_dir` at `emulated_dir` and the read/write speed is slowdown every 30 minutes for 10 minutes.
mizumochi /tmp/emulated_dir/ /tmp/real_dir/ --speed 1024KBps periodic --duration 10m --frequency 30m

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~7–17MB
~234K SLoC