/SNIA-SSS-PTS

SNIA SSS PTS test suite based on SNIA's Solid State Storage Performance Test Specification for Transcend products

Primary LanguagePHPApache License 2.0Apache-2.0

SNIA-SSS-PTS

ABSTRACT

SNIA SSS PTS describes a solid state storage device-level performance test methodology, test suite and reporting format intended to provide an accurate, repeatable and reliable comparison of NAND Flash-based solid state storage products of various form factors, protocols and interfaces used in Client and Enterprise applications.

This is a software that can execute SNIA Solid State Storage (SSS) Performance Test Specification (PTS) v2.0 test. It performs FIO testing through PHP CLI and finally uses terminal to execute and generate PDF report.

Each directory is described as follows

  • test The main processes for testing PTS v2.0.
  • temp Store the temporary data during testings (set path by test/lib/parameter.json and create it by yourself)

Environment

  • prerequisite

    Ubuntu 20.04LTS SETUP install dependencies

    $sudo apt-get -y install fio gnuplot util-linux zip hdparm wkhtmltopdf xvfb git nvme-cli php-cli smartmontools
    
  • support

    Only one target at a time but with one or more test

    WARNING: If a device is specified (e.g. /dev/sdc), all data on that device will be erased during the course of testing.

Usage

  • iops

    IOPS Test - measures IOPS at a range of random block sizes and read/write mixes

    $sudo php run.php --verbose --target=/dev/sd<x> --test=iops --secureerase_pswd=pts --spec=<enterprise/client>
    $sudo php run.php --verbose --target=/dev/nvme<y> --test=iops --nvmeformat=1 --spec=<enterprise/client>
    
  • throughput

    Throughput Test - measures sequential read and write throughput (MB/s) in steady state

    sudo php run.php --verbose --target=/dev/sd<x> --test=latency --secureerase_pswd=pts --spec=<enterprise/client>
    sudo php run.php --verbose --target=/dev/nvme<y> --test=latency --nvmeformat=1 --spec=<enterprise/client>
    
  • latency

    Latency Test - measures IO response times for 3 block sizes (0.5k, 4k and 8k), and 3 read/write mixes (100/0, 65/35 and 0/100).

    sudo php run.php --verbose --target=/dev/sd<x> --test=throughput --secureerase_pswd=pts --spec=<enterprise/client>
    sudo php run.php --verbose --target=/dev/nvme<y> --test=throughput --nvmeformat=1 --spec=<enterprise/client>
    
  • wsat

    Write Saturation Test - measures how drives respond to continuous 4k random writes over time and total GB written (TGBW).

    sudo php run.php --verbose --target=/dev/sd<x> --test=wsat --wsat_wl=0 --wsat_time=6 --secureerase_pswd=pts --spec=<enterprise/client>
    sudo php run.php --verbose --target=/dev/nvme<y> --test=wsat --wsat_wl=0 --wsat_time=6 --nvmeformat=1 --spec=<enterprise/client>
    

Enterprise:
Servers in data centers, storage arrays, and enterprise wide / multiple user environments that employ direct attached storage, storage attached networks and tiered storage architectures.
Client:
laptop or desktop computers used in small offices, home, mobile, entertainment and other single user applications.

Report

test saves results under test/lib directory

  • perform IOPS test against device Transcend SSD452K2 1T

Note This software contains code derived from cloudharmony/block-storage and Alan-ADATA/SSS-PTS-TEST.