TKperf

From Thomas-Krenn-Wiki
Jump to: navigation, search

TKperf is a tool developed by Thomas Krenn.AG to test the speed of hard drives and SSDs. The tool makes it easier to compare different types of hard drives or SSDs. TKperf provides detailed test reports including an extensive documentation of the test setup. Based on the Solid State Storage (SSS) Performance Test Specification (PTS) Enterprise v1.0 organization SNIA[1] SSD tests are carried out and prepared with Python.

TKperf logo.png
All tests are using the Flexible IO Tester (Fio) in the background, the configuration of the tests and the subsequent generation of graphics is made by a Python script as mentioned. Additional information on Fio options can also be found in the Fio Basics article.

Software Requirements

  1. Fio Version 2.0.3[2] or higher. Older Fio versions are not supported due to a different minimum output ("Terse Output") of the Fio test results. Version 3 of Terse Output, (Fio version 2.0.3), includes the additional output parameters, such as IOPS that are used in analyzing the results of TKperf. How the current Fio version is downloaded and compiled is described in the articel Compiling Fio.
  2. hdparm - With hdparm information about the tested device is requested, moreover a SSD Secure Erase is performed with it.

Download

TKperf can be obtained via the Thomas-Krenn-OSS-Website or directly from Git:

GitHub Support

Questions will be answered via GitHub:

Installation

Additional information about the installation can be found in the TKperf Installation article.

Ubuntu Repo

TKperf can be installed from the Thomas Krenn Ubuntu Repository:

:~$ sudo apt-get install tkperf
[sudo] password for gschoenb: 
Reading package lists... Done
Building dependency tree
[...]

Manually

:~/Downloads/tkperf$ git clone git://github.com/thomas-krenn/TKperf_v1.git .
Cloning into '.'...
remote: Counting objects: 914, done.
remote: Compressing objects: 100% (374/374), done.
remote: Total 914 (delta 549), reused 878 (delta 529)
Receiving objects: 100% (914/914), 180.49 KiB, done.
Resolving deltas: 100% (549/549), done.
:~/Downloads/tkperf$ sudo python setup.py install
running install
running build
[...]
:~/Downloads/tkperf$ tkperf -v
TKperf Version: 1.1 using fio: /usr/local/bin/fio, fio-2.0.13-16-g99db

Begin Test Run

$ screen
$ sudo tkperf ssd intel320 /dev/sda -nj 2 -iod 16 -rfb
!!!Attention!!!
All data on /dev/sda will be lost!
Are you sure you want to continue? (In case you aren't sure what you are doing.)
Press 'y' to continue, any key to stop:
y
Starting SSD mode...
[...]

After the test run the Restructured Text can be converted into a PDF

$ rst2pdf intel320.rst

Test Options

  • SSDs
    • IOPS-Test
    • Bandwidth-Test
    • Latency-Test
    • Settings-Test (Write Saturation)
  • SSD RAID
    • IOPS-Test
    • Bandwidth-Test
    • Latency-Test
    • Settings-Test (Write Saturation)
  • HDDs
    • IOPS-Test
    • Bandwidth-Test

Generated Graphics

  • SSDs
    • Steady State Verification Plot: Shows that the SSD is in a stable condition.
    • Steady State Convergence Plot: Shows how relevant variables have converged to the stable state.
    • Measurement 2D und 3D Plots: Shows the average of the measured values ​​in the Measurement Window (stable state).
    • Measurement Window Summary Table: The table shows the average of the measured values ​​in the Measurement Window. It can be used to look up the values ​​in the 2D/3D plots. The table is not a separate graphic, but is included in the PDF report.

References

  1. Solid State Storage (SSS) Performance Test Specification (PTS) (snia.org)
  2. Fio Version 2.0.3 Release (freecode.com)

Author: Georg Schönberger

Related articles

TKperf Installation