Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc.
Erlang Perl Python Shell CSS HTML

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
debian
doc
include
priv
src
www
CHANGES
CONTRIBUTORS
COPYING
FAQ
LISEZMOI
Makefile
README
TODO
idx-tsunami.sh.in
idx-tsunami.xml
idx-tsunamirc
vsn.mk

README

# $Id$

  IDX-TSUNAMI README
  IDEALX

  ____________________________________________________________

  Table of Contents


  1. Introduction

     1.1 General
     1.2 What This Package Is

  2. Getting Things Installed

     2.1 Dependencies
     2.2 Compilation and Installation
     2.3 Problems/Bugs
     2.4 Platform Issues

  ______________________________________________________________________

  1.  Introduction

1.1.  General

  This document gives pointers for information on this package which is
  distributed under the GNU General Public License version 2 (see file
  COPYING).

  1.2.  What This Package Is

  The purpose of IDX-TSUNAMI is to simulate users in order to test
  the scalability and performances of IP based client/server
  applications. Currently, HTTP and Jabber protocol have been
  implemented and tested, but it can be easily extended (see
  doc/Design.txt). IDX-TSUNAMI use the Erlang language.

  This tool can simulate thousands of users concurrently, and can be
  distributed on several client machines. Up to 10000 users can be
  simulated on a single machine (the limit depends on the hardware and
  also on the activity of the simulated clients).

  The idea is to simulate the behavior of a real world client using a
  stochastic model, in order to achieve a more realistic traffic than
  other simple models (deterministics).

  In this context, a client's session is characterize by:
      - a set of actions: an action can be a request ('GET' or 'POST')
      or a thinktime

  At the end of a session, the client stops.

  A key parameter is the mean time between clients arrival,
  and also the duration of the test.

  In the current implementation, the client arrival rate and the user
  "think time" are represented by an exponential distribution
  (therefore, the arrival process is a Poisson process). The thinktime
  can also be fixed (determinist).

  The traffic can be logged to a file and this file can be analyzed by
  scripts to get useful measurements of responses time. 

  Since v0.2.0, these stats are also be computed in real-time. A
  script is provided to print  graphics using gnuplot.

  For a list of features, see http://tsunami.idealx.org/features.en.html

  2.  Getting Things Installed

  2.1.  Dependencies
  
  - Erlang/OTP R9C-0 (http://www.erlang.org/download.html)

  - xmerl-0.19 (http://sowap.sourceforge.net/download.html). A debian
    binary package is provided in http://tsunami.idealx.org/dist/ 

    xmerl-0.15 should work, but the notation <tag/> is not supported
    by this version (use instead the full <tag></tag> notation)

  - gnuplot and perl5 (optional; for graphical output with analyse_msg.pl script)

  - for distributed tests, you need an ssh access to remote machines
    without passwd (use a RSA/DSA key without passphrase or ssh-agent)

  2.2.  Compilation and Installation

  Edit Makefile if you want to change the install path (prefix)
  (/usr/lib/erlang/... by default for beam files). Default
  configuration and log files are  saved in ~/.idx-tsunami/ )

  make
  make install

  How to use it:
    1a/ Edit ~/.idx-tsunami/idx-tsunami.xml file (read the comments
    for explanation on the parameters, there is a sample file
     /usr/share/doc/idx-tsunami/examples/idx-tsunami.xml)

    1b/ Read the doc/Jabber.txt file for Jabber-specific information.

    2/ use "idx-tsunami start" to launch the simulated clients (man
    idx-tsunami for available options)

    3/ When it's finished, or during the test, you can use analyse_msg.pl to get
       statistical results from the logfile.

	   Since v0.2.0, you can have 'realtime' stats using with the
	   --stats and --plot option. It will
	   generate graphics in postscript using gnuplot. The --stats
	   option requires a logfile, by default it is named
	   'idx-tsunami.log-YYYY:MM:DD-HH:mm'
       Every 10sec (default value), stats are dump in that log file,
       and the script can create graphics about the current activity.
		   
	   Availables stats:
		- response_time (response time for each request (~ request for HTTP))
		- page_resptime (response time for each set of requests (~ page for HTTP))
		- connect (duration of the connection)
		- reconnect (number of reconnection)
		- size (size of responses)
		- session (duration of a user's session)
		- users (number of simultaneous users)

       HTTP specific stats:
		  - counter for each response status (200, 404, etc.)
  
        Since v1.0.beta1, you can customize statistics using
        "transactions" in session definition.

     4/ To start the proxy recorder for HTTP sessions, use the command
     'idx-tsunami recorder'. The proxy will start listening to the
     8090 port. Configure your browser; all the requests will be
     recorded to a file in XML. To stop the recorder, type
     'idx-tsunami stop_recorder'

  2.3.  Problems/Bugs
 
  Submit bug reports/ask questions to nicolas.niclausse@IDEALX.com
 
  2.4.  Platform Issues

  This package has only be tested on Linux. It should work
  on Erlang supported platforms (Solaris, *BSD, and maybe Win32)



Something went wrong with that request. Please try again.