Skip to content
Benchmark and application loader based on time series model.
Branch: master
Clone or download
Pull request Compare This branch is 206 commits ahead of ajantis:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
agent
server
.gitignore
CHANGELOG.md
LICENSE.md
README.md

README.md

TSLoad

TSLoad is a complex set of tools that allow to simulate computer workloads in realistic way. Unlike benchmarks that intended to measure maximum performance of system by running it at maximum throughput (and through that forgetting about request latency that is in our opinion is important too), TSLoad is intended to simulate workload that generated by N users. It is also modular, so basically it doesn't support any workload class at all, like ab is intended to benchmark web-servers or iozone - filesystems. TSLoad is an engine that provides capabilities to describe workload in flexible way, and takes some responsibilities to create multiple threads, and process experiment config in JSON format, and pass it to a module.

TSLoad have four operating modes:

  • Microbenchmarking mode
  • Simulation mode
  • Time-series mode
  • Trace-reproduction mode

It is also crossplatform and currently supports Linux, Windows and Solaris.

Documentation

Detailed documentation may be found here: myaut.github.io/tsload/

Installing TSLoad

TSLoad is available as Ubuntu PPA:

$ sudo add-apt-repository ppa:myaut/tsload
$ sudo apt-get install tsload tsload-dev tsload-doc

Building TSLoad

For TSLoad you will need the following prerequisites:

  • Python 2.6 or 2.7 (for SCons build system and various build scripts) - www.python.org.
    Also you will need to install pywin32 extensions on Windows: sourceforge.net/projects/pywin32/
  • SCons build 2.3.1 or newer - www.scons.org.
  • Compiler and linker
    • For Unix and Linux - GNU C/C++ Compiler 4.4. Proprietary Unix compilers such as IBM XLc and SunCC are currenly not supported
    • For Windows - Visual Studio 2010 Express (MinGW is not tested)

Then build a TSLoad:

$ scons --update-build --prefix=/opt/tsload install

if option --prefix is ommitted, binary files is placed under build/tsload- directory

To build TSLoad documentation, use the following command:

$ scons --doc-format=html doc

Output documentation is placed under build/doc directory

More detailed information on building TSLoad is available in documentation: Building TSLoad

Example using TSLoad

Now try to run some workloads with it:

$ cp -r /var/lib/tsload/sample tsload-sample
$ tsexperiment -e tsload-sample/ run

(If you manually built TSLoad, sample directory may be in /opt/tsload/var/tsload/sample).

Currently, TSLoad is shipped with busy_wait for generating CPU busy loops, simpleio for disk and file I/O workloads and http modules. You can create your own modules with it.

Authors and copyrights

TSLoad was developed by Sergey Klyaus (Tune-IT/ITMO University) Idea, architecture and design were contributed by Boris Timchenko and Dmitry Ivanov (both ITMO University)

Contact us: myautneko@gmail.com

You can’t perform that action at this time.