GithubHelp home page GithubHelp logo

diskplorer's Introduction

Diskplorer - disk latency/bandwidth grapher

Diskplorer is a small set of tools around fio that can be used to discover disk read latency at different read and write workloads. Diskplorer runs a matrix of 21 write workloads (0% to 100% of the maximum bandwidth, in 5% increments) and 21 read workloads (0% to 100% of the maximum IOPS, in 5% increments) for a total of 441 different workloads. The disk is fully written first in order to eliminate clean-disk effects.

Diskplorer runs in two steps: step 1 generates a json result file, and must be run on the system being tested, and step 2 generates latency charts from the result file.

Running the test

Caution: the test is destructive. Do not use on disks that have real data.

Install the dependencies with

sudo dnf install -y fio

or

apt-get install -y fio

Obtain the maximum write bandwith and maximum read IOPS from the device data sheet.

Run diskplorer (substitute /dev/name with your device file):

sudo ./diskplorer.py /dev/name --result-file your-results.json

It is recommended to save the fio test file for later reference (--fio-job-directory)

sudo is required due to direct disk access.

This will run for several hours. Some smoke may be emitted from the disk.

Viewing the results

Once done, copy the result file (test.json) to your workstation and view the charts with

./latency-postprocess.py test.json

Sample results

i3en.3xlarge

i3en.3xlarge chart

With 4k blocksize, showing reduction in IOPS due to increased bandwidth demand:

i3en.3xlarge chart (4k bs)

With 16k blocksize, showing further reduction in IOPS due to increased bandwidth demand:

i3en.3xlarge chart (16k bs)

i3.2xlarge

i3.2xlarge chart

im4gn.4xlarge

im4gn.4xlarge chart

AWS EC2 r5b.2xlarge, EBS GP3 (1000 GB, 1000 MB/s, 16000 IOPS)

EBS GP3 1000 MB/s, 16000 IOPS

GCP n2-standard-16, 8 local SSDs in RAID 0

These results are using aio instead of io_uring due to bad interaction between md and io_uring.

n2-standard-16 with 8 local SSDs

GCP n2-standard-8, 2 TB SSD Persistent Disk

Strangely the 95th percentile at low rates is worse than at high rates.

n2-standard-8 with 2TB SSD Persistent Disk

Toshiba DT01ACA200 hard disk drive

Results for a rotating hard disk drive. Note the throughput and IOPS were allows to miss by a 15% margin rather than the normal 3% margin.

Toshiba DT01ACA200 hard disk drive

diskplorer's People

Contributors

avikivity avatar nukemberg avatar rnsanchez 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.