A robust benchmarking tool

Tsung is a heavy duty, load-testing tool that is used by organisations to benchmark the performance of their instant messaging servers and other large applications.

The tool offers several key advantages over traditional injection tools, including:

  • High performance — Tsung can simulate up to 50,000 simultaneous users per physical computer, whereas traditional injection tools can usually only simulate up to 1,000 users.
  • Ease of use — Based on XML configuration, Tsung removes the need for developers to write complex scripts. The tool handles tasks such as managing cookies automatically, so developers can focus on designing the scenarios not managing lines of code.
  • Protocol independence — Tsung is protocol independent and can be used to test Jabber, XMPP, HTTP, SOAP, LDAP and PostgreSQL servers. The solution can also be easily extended to provide support for new protocols.
  • Support for cluster environments — The testing load can be distributed across a cluster of client machines, to allow benchmarking to be carried out in large-scale server environments. In addition, several IP addresses can be used on a single machine.
  • Greater flexibility — Developers can use Tsung to simulate different types of users during the same benchmark and even define the proportion of the various behaviours in the test. This enables organisations to carry out benchmark tests that reflect realistic business scenarios.
  • Detailed graphical reports — Tsung enables developers to monitor the target server. The tool produces detailed statistics on performance, errors and target cluster behaviour, which can be viewed in graph format. All statistics are produced in real time, so developers and systems administrators can view the results as the test progresses.

Originally known as IDX-Tsunami, Tsung was first developed in 2001 by a company called IdealX. Its current name stands for Tsunami Next Generation. Developed in the Erlang programming language, the tool is now an open source solution that is actively developed and supported by ProcessOne.