What is it?
FIO Visualizer is a GUI for the storage I/O performance measurement tool called FIO. It parses console output in real-time, displaying visual detail for IOPS, bandwidth and latency of each device's workload. The data is gathered from FIO console output at assigned time intervals and updates the graphs immediately. It is especially valuable for benchmarking SSDs, particularly those based on NVMe specifications.
- Real-time, continuously-updated FIO data in a visual graphic display.
- Customizable layout: a user can define which parameter(s) to monitor.
- Multi-thread + multi-job monitoring and support makes NVMe SSD benchmarking much easier.
- Base workload settings are used in all Intel SSD datasheets.
- Tool is multipurpose; it can be used for benchmarking and demo as a replacement to the deprecated Iometer tachometer window.
- Easy to use; it doesn’t require specific knowledge of software developing or scripting languages.
- Unique real-time QoS analytics.
- Written on Python with QtGraph; uses third-party libraries to simplify GUI code.
Important to know
- FIO Visualizer is not a replacement for FIO; it simply outputs FIO data in an easy-to-read format.
Single window GUI offers great user experience. Everything is on one screen without overlapping windows. Left and right panels correspond to read / write statistics. Horizontal segments display IOPS, Bandwidth and Latency. Each graph supports auto-scaling in both dimensions. Individual zoom is also supported for each graph -- once zoomed, the view can roll back to auto-scaling by popup button. There is an option to disable certain graphs and change the view for the control panel on the right.
Workload manager is a set of FIO settings grouped in files. Each file represents a specific workload and can be loaded directly into the FIO Visualizer tool. From where it starts FIO job automatically.
Typical workload scenarios are included in the package -- these are all datasheet workloads for Intel SSDs, and some additional use cases. They can easily be modified in a text editor.
- Multi-jobs configurations files (i.e. [job1]... [job2]) are not yet supported. The total number of jobs when every workload has "numjobs" specified does not parse correctly.
- Continue working on Simulation workloads. The list is limited at the moment.