且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Tsung: A open-source, multi-protocol, distributed load testing tool

更新时间:2022-09-17 17:58:59

As we said earlier, we will be concentrating on load testers, stress testers, etc. continuing with the same trend. Tsung is an open-source multi-protocol distributed load testing tool which has been programmed in Erlang. Erlang is an open-source language made by Ericsson for building robust fault-tolerant distributed applications.

Tsung can simulate many users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers or even web application firewalls. This tool is completely protocol independent. You can use Tsung to test the following protocols:

  • HTTP
  • WebDAV
  • SOAP
  • PostgreSQL
  • MySQL
  • LDAP
  • Jabber/XMPP

Main features of Tsung:

  • High Performance: Tsung can simulate a huge number of simultaneous users per physical computer. It can simulates thousands of users on a single CPU!
  • Distributed: The load can be distributed on a cluster of client machines! Truly a first when it comes to stress testing!
  • Multi-Protocols using a plug-in system: HTTP (both standard web traffic and SOAP), WebDAV, Jabber/XMPP and PostgreSQL are currently supported. Experimental LDAP and MySQL plugins are included in the 1.3.0 release.
  • SSL support
  • Several IP addresses can be used on a single machine using the underlying OS IP Aliasing
  • OS monitoring (CPU, memory and network traffic) using Erlang agents on remote servers or SNMP
  • XML configuration system: complex user’s scenarios are written in XML. Scenarios can be written with a simple browser using the Tsung recorder (HTTP and PostgreSQL only).
  • Dynamic scenarios: You can get dynamic data from the server under load (without writing any code) and re-inject it in subsequent requests. You can also loop, restart or stop a session when a string (or regexp) matches the server response.
  • Mixed behaviours: several sessions can be used to simulate different type of users during the same benchmark. You can define the proportion of the various behaviours in the benchmark scenario.
  • Stochastic processes: in order to generate a realistic traffic, user thinktimes and the arrival rate can be randomize using a probability distribution (currently exponential)

The best of all, Tsung is OPEN SOURCE and this tool has been in active programming since 2001! Also, it is cross platform – can work on Linux, Solaris, *BSD, Win32 and MacOS-X!

It does have some pro-requisites though which are not found on normal servers. But well, with an application like this, we are no doubt you will get the necessary softwares installed!

Download the latest version of Tsung 1.3.1 here.