forked from processone/tsung
/
README
116 lines (75 loc) · 3.53 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# $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.
Copyright information can be found in the file "COPYING."
1.2. What This Package Is
The purpose of this package is to simulate users in order to test
the scalability and performances of IP based client/server
applications. Currently, only the Jabber protocol has 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 is characterize by:
- the mean time elapsed between each request ("think time")
- the number of requests during a session
- the type and parameters of requests (including, for example,
'chat' message size for Jabber)
Another key parameter is the arrival rate of clients.
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 traffic can be logged to a file and, after completion of
all the clients, these files can be analyzed by scripts to get
useful measurements of responses time. An small script is furnished
for the Jabber protocol (mean, median, standard variation, and so on
are computed, for different types of messages: authentication,
chat, offline messages ...)
This software is currently under development and can be enhanced
in many ways (see TODO file).
2. Getting Things Installed
2.1. Dependencies
- requires Erlang/OTP R7B-0 or up (tested with R7B-2)
(http://www.erlang.org/download.html)
- perl5 (if you want tu use the scripts)
- gnuplot (optional; for graphical output with analyse_msg.pl script)
2.2. Compilation and Installation
Edit Makefile and idx-tsunami.pl if you want to change the install
path (/usr/local/idx-tsunami by default)
Edit src/tsunami.rel.src if your Erlang version is not R7B-2 and set
erts, kernel and stdlib version according to your Erlang
distribution.
make
make install
How to use it:
1a/ Edit etc/idx-tsunamirc file (read the comments for explanation on
the parameters)
1b/ Read the doc/Jabber.txt file for Jabber-specific information.
2/ use the script "idx-tsunami.pl --start" to launch the simulated clients.
3/ When it's finished, you can use analyse_msg.pl to get
statistical results from the logfiles (require at least 'light'
monitoring, see comments in 'idx-tsunamirc' )
2.3. Problems/Bugs
Submit bug reports/ask questions to the authors (see CONTRIBUTORS)
2.4. Platform Issues
This package has only be tested on Linux. It should work
on Erlang supported platforms (Solaris, *BSD)