IDX-Tsunami is a distributed multi-protocol load testing tool.
Version: 1.1.0IDX-tsunami is a distributed load testing tool. It is protocol-independent and can currently be used to stress HTTP, SOAP and Jabber servers.
Operating System: Linux
It simulate users behaviour using an XML description file, report many measurements in real time (statistics can be customized with transactions, and graphics generated using gnuplot).
For HTTP, it support 1.0 and 1.1 version, has a proxy mode to record sessions, support GET and POST method, Cookies and Basic WWW-authentication. It also has support for SSL.
The purpose of IDX-Tsunami is to simulate users in order to test the scalability and performances of IP based client/server applications. You can use it to do load testing of your servers. Currently, HTTP and Jabber protocols have been implemented and tested, but it can be easily extended.
This tool can simulate thousands of users concurrently, and can be distributed on several client machines.
IDX-Tsunami has been used to validate the IM platform made by LibertySurf in 2001. 10.000 concurrent users were simulated on a cluster of 3 machines.
IDX-Tsunami has also been used to test a very high trafic web site. More than 3.000 HTTP/HTTPS requests/second were generated during this test
IDX-Tsunami is developped in Erlang, an open-source language made by Ericsson for building robust fault-tolerant distributed applications.
Here are some key features of "IDX Tsunami":
· High Performance: the load can be distributed on a cluster of client machines
· Multi-Protocols using a plugin system: HTTP and Jabber are currently supported. LDAP and SMTP are on the TODO list.
· SSL support.
· Several IP addresses can be used on a single machine using the underlying OS IP Aliasing
· OS monitoring (CPU, memory and network trafic) using Erlang agents on remote servers or SNMP. list.
· XML configuration system; several sessions can be used to simulate differents type of users.
· Stochastic processes: in order to generate a realistic trafic, user thinktimes and the arrival rate can be randomize using a probability distribution (exponential currently)
· HTTP/1.0 and HTTP/1.1 support
· GET and POST requests
· 'GET If-modified since' type of request
· WWW-authentication Basic
· Proxy mode to record sessions using a Web browser.
· Basic support using the HTTP mode (the SOAPAction HTTP header is handle).
· Authentication, presence and register messages
· Chat messages to online or offline users
· Roster set and get requests
· Global users' synchronisation can be set on specific actions
What's New in This Release:
· HTTP proxy server load testing is now possible.
· The HTTP UserAgent header can be customized.
· Dynamic substitutions were implemented for the Jabber plugin.
· Several minor bugs were fixed, so it should work on Solaris now.