Stressant - stress testing tool
===============================

`Stressant <https://gitlab.com/anarcat/stressant>`__ is a simple yet
complete stress-testing tool that forces a computer to perform a series
of test using well-known Linux software in order to detect possible
design or construction failures.

Stressant builds on top of existing software and tries to cover most
components of you system (currently disk, CPU and processor). It is
part of the `Grml Live Linux <https://grml.org/>`_ project and also
packaged for Debian.

Features
========

 * disk testing (with :manpage:`smartctl(8)` and :manpage:`fio()`)
 * CPU testing (with :manpage:`stress-ng(1)`)
 * network testing (with :manpage:`iperf3(1)`)
 * designed to be ran automatically
 * supports sending reports by email or saving to disk
 * basic benchmarks (with :manpage:`hdparm(8)` and :manpage:`dd(1)`)

See also the :doc:`design` document for other planned features and
remaining work.

Installation instructions are in the :doc:`install` document.

Contributions are welcome, see the :doc:`contribute` document.

Demo
====

.. see the URL below for an online video demo

|asciicast|

.. |asciicast| image:: https://asciinema.org/a/107950.png
   :target: https://asciinema.org/a/107950

Similar software
================

-  `Phoronix test
   suite <https://en.wikipedia.org/wiki/Phoronix_Test_Suite>`__ -
   far-ranging benchmarking suite
-  `OpenBenchmarking.org <https://openbenchmarking.org/>`__ - a good
   source of benchmarking tools
-  `Inquisitor <https://en.wikipedia.org/wiki/Inquisitor_(hardware_testing_software)>`__
   - hardware testing suite
-  `Breakin <http://www.advancedclustering.com/products/software/breakin/>`__
   - stress-test and hardware diagnostics tool
-  `FWTS <https://wiki.ubuntu.com/FirmwareTestSuite/>`__ - Ubuntu's
   Firmware Test Suite - performs sanity checks on Intel/AMD PC
   firmware. It is intended to identify BIOS and ACPI errors and if
   appropriate it will try to explain the errors and give advice to help
   workaround or fix firmware bugs
-  `chipsec <https://github.com/chipsec/chipsec>`__ - framework for
   analyzing the security of PC platforms including hardware, system
   firmware (BIOS/UEFI), and platform components
-  `sys\_basher <http://www.polybus.com/sys_basher_web/>`__ - another
   stress-testing tool
-  `PerfKit
   Benchmarker <https://github.com/GoogleCloudPlatform/PerfKitBenchmarker>`__
   - GCP's benchmarking tool
-  `Stressapptest <https://github.com/stressapptest/stressapptest>`__ -
   Stressful Application Test, userspace memory and IO test - similar to
   stressant
- `Power Stress and Shaping Tool (PSST)
   <https://01.org/power-stress-and-shaping-tool>`_ - a "controlled
   power tool for Intel SoC components such as CPU and GPU. PSST
   enables very fine control of stress function without its own
   process overhead", packaged in Debian as `psst
   <https://tracker.debian.org/pkg/psst>`_
- `The stress terminal (s-tui) <https://amanusk.github.io/s-tui/>`_ -
  mostly for testing CPU, temperature and power usage, now included in
  the meta-package
- `bench-scripts <https://github.com/haydenjames/bench-scripts>`_ -
  provides a nice and simple interface for basic benchmarks

Acknowledgements
================

Thanks to jrollins & dkg for writing debirf which was so useful in
creating the first Stressant prototypes, and especially to dkg for help
with qemu and other oddities. Thanks also to taggart for spurring this
idea forward. Finally, thanks to the Grml team for being providing
useful feedback on the toolset and for welcoming Stressant contributions
in Grml itself.
