Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Latest commit e7bd593 Aug 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Workloads QoS scripts added Nov 15, 2017
__pycache__ Recommiting changes, refactored GUI Mar 28, 2018
.gitignore
DESCRIPTION.rst introducing new packaging and “numjobs” support in this FIO_Visualizer Aug 13, 2015
LICENSE.txt
PKGBUILD introducing new packaging and “numjobs” support in this FIO_Visualizer Aug 13, 2015
README.md
__init__.py introducing new packaging and “numjobs” support in this FIO_Visualizer Aug 13, 2015
fio_visualizer.py fio_visualizer.py: add support to use against a remove server Aug 11, 2018
mainwindow.ui
realtime_back.py
setup.cfg introducing new packaging and “numjobs” support in this FIO_Visualizer Aug 13, 2015
setup.py Update setup.py Apr 10, 2017

README.md

Description

This tool is a realtime data visualisation tool for FIO written using PyQtGraph.

Overview

This application is written in Python, using PyQtGraph to graph FIO data in realtime. Running as root is required because this application accesses block devices.

Package Content

  • README.md
    • This readme file
  • LICENSE.txt
    • License file
  • fio_visualizer.py
    • The frontend for this application
  • realtime_back.py
    • The backend for this application
  • mainwindow.ui
    • GUI definition part of the script
  • Workloads:
    • Device
      • Block device workloads covering typical specifications, separated in SATA and NVMe sections
    • Precondition
      • instruction and script files to prepare SSD for the testing.
    • Simulation
      • Workloads to simulate real applications.
    • MultiDevice
      • Workloads to test two or more drives at a time. Currently has limitted support due to improper handling of total performance in the script.

Installation

Requires:

  • FIO 2.15 or newer (2.1.x is no longer supported) found here
  • PyQtGraph found here
  • Python 2.7 or 3+ here
  • PyQt 4.8+ or PySide
  • numpy
  • scipy

CentOS 7 steps

  1. You should have python and PyQt installed with this distro

  2. Install pyqtgraph-develop (0.9.9 required) from here

    • $ python setup.py install
  3. Install Cyphon from here Version 0.21 or higher is required.

    • $ python setup.py install
  4. Install Numpy from here

    • $ python setup.py build
    • $ python setup.py install
  5. Install FIO from here

    • # ./configure
    • # make
    • # make install
  6. Run Visualizer as root.

    • # ./fio_visualizer.py

Ubuntu steps

  1. Add the following repository deb http://luke.campagnola.me/debian dev/ into your /etc/apt/sources.list and then run $ sudo apt-get install fio python-pyqtgraph

  2. Install FIO from here

    • # ./configure
    • # make
    • # make install
  3. Run Visualizer as root.

    • # ./fio_visualizer.py

Limitations

  1. Increased CPU load with numjobs > 4 and all threads plotting. Avoid plotting all threads with numjobs > 4 or disable unneccessary ones to save CPU resources.
  2. Multi-jobs configurations files (i.e. [job1]... [job2]) are not supported at the moment. The total amount of jobs if every workload has "numjobs" specified too are not correctly parsed. This can still be implemented manually specifing it in the code.

Todo

Continue working on workload profiles for new Intel SSDs.

Maintainers

You can’t perform that action at this time.