Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 103 lines (65 sloc) 3.189 kb
da16c35 Nicolas Niclausse import version publique du client de test de mont�e en charge.
nniclausse authored
1
2 OTP Supervision tree:
3 ====================
4
5 * ts_mon (gen_server)
6
7 * ts_timer (used by ts_client_rcv when ack is global) (gen_fsm)
8
9 * ts_client_sup -> ts_client, ts_client_rcv
10
11 servers used to construct messages:
12
13 * ts_req_server (gen_server) can generate messages extracted from an external file
14 * ts_msg_server (gen_server)
15 * ts_user_server (gen_server) used by ts_launcher and jabber_* for unicity of users id
16
17 main server
18
19 * ts_launcher (gen_fsm) launch simulated users.
20
21 Main modules:
22 ============
23
24 1/ ts_launcher. the master process that spawns other processes:
25
26 1.1/ client processes: at each simulated client correspond 2 erlang
27 process:
28
29 a/one that will initiate TCP (UDP) connection and will send
30 messages (ts_client module). These process are spawns by
31 ts_launcher (using an sleeping time between two clients
32 following an exponential distribution).
33
34 b/ Each of these process will spawn a new process to handle
35 incoming data from the server (ts_client_rcv module).
36
37 The total number of clients (NCLIENTS) can be changed in the
38 config file. It represent the total number of clients that
39 will be launched, and not the maximal simultaneous number of
40 client.
41
42 Warning: All the messages for a user session are computed by
43 ts_launcher, just before spawning the user process (in a
44 list). Therefore, if the number of messages is huge, it can
45 takes A LOT of memory. If you want to do very long experiments,
46 use a single 'dynamic' messages (see jabber_dynamic and
47 Jabber.txt for an exemple), which will be send over and over by
48 the user.
49
50 Important parameters for Jabber :
51 1/ chat messages size, in bytes (250 by default)
52
53 2/ mean time elapsed between two consecutives messages sent by a user
54
55 3/ number of messages sent by a user during a session
56
57 1.2/ monitoring process (ts_mon)
58
59 2/ statistical module (ts_stats)
60
61 3/ a generic module for building user sessions (ts_profile)
62
63 4/ protocol-specific modules (jabber_online for example).
64
65 How to add a new protocol, or extend an existing one:
66 ====================================================
67
68 A protocol has to implement the API defined in profile.erl, ie.
69 must implement these functions:
70 - get_client/2
71 - get_random_message/1
72
73 References:
74 ==========
75
76 - Erlang
77
78 http://www.erlang.org/
79
80 Design principles:
40a27bb Nicolas Niclausse update doc (typos)
nniclausse authored
81 http://www.erlang.org/doc/r7b/doc/design_principles/part_frame.html
da16c35 Nicolas Niclausse import version publique du client de test de mont�e en charge.
nniclausse authored
82
83 - Jabber
84
85 http://docs.jabber.org/general/html/protocol.html
86
87
88 - Stochastics models:
89
90 For more details on stochastics models and application to Web
91 workload generators, take a look at:
92
93 Nicolas Niclausse. Modélisation, analyse de performance et
94 dimensionnement du World Wide Web. Thèse de Doctorat (PhD), Université
95 de Nice - Sophia Antipolis, Juin 1999.
96 http://www-sop.inria.fr/mistral/personnel/Nicolas.Niclausse/these.html
97
98 Z. Liu, N. Niclausse, C. Jalpa-Villanueva & S. Barbier. Traffic
99 Model and Performance Evaluation of Web Servers Rapport de
100 recherche INRIA, RR-3840 (http://www.inria.fr/rrrt/rr-3840.html)
101
102
Something went wrong with that request. Please try again.