Skip to content
Browse files

update doc

SVN Revision: 186
  • Loading branch information...
1 parent 89960cc commit c5fcb80de48f588151acb80010a769ff3870bdd8 @nniclausse nniclausse committed Jan 15, 2004
Showing with 103 additions and 106 deletions.
  1. +34 −20 doc/Design.txt
  2. +4 −0 doc/Design_fr.txt
  3. +6 −29 doc/Jabber.txt
  4. +59 −57 doc/tsunami-inside.fig
View
54 doc/Design.txt
@@ -12,13 +12,15 @@ The application is now split in two (see tsunami-inside.png for an overview):
* ts_mon (gen_server). Each client send reports of stats to this
server. Several types of messages are handled by ts_mon.
+ * ts_os_mon (gen_server). Use to monitor remote node activity (cpu,
+ memory, network traffic). Currently, use an erlang agent on remote nodes.
+
* ts_timer (used by ts_client_rcv when ack is global) (gen_fsm)
servers used to construct messages:
- * ts_req_server (gen_server) can generate messages extracted from an external file
* ts_msg_server (gen_server)
- * ts_user_server (gen_server) used by ts_launcher and jabber_* for unicity of users id
+ * ts_user_server (gen_server) used by jabber_* for unicity of users id
** several clients (tsunami) Several nodes can be used simultaneously
@@ -40,41 +42,53 @@ Main modules:
1.1/ client processes: at each simulated client correspond 2 erlang
process:
- a/one that will initiate TCP (UDP) connection and will send
+ a/one that will initiate TCP|UDP|SSL connection and will send
messages (ts_client module). These processes are spawns by
ts_launcher (using an sleeping time between two clients
following an exponential distribution).
b/ Each of these process will spawn a new process to handle
incoming data from the server (ts_client_rcv module).
- Important parameters for Jabber :
- 1/ chat messages size, in bytes (250 by default)
+ 1.2/ monitoring process (ts_mon)
- 2/ mean time elapsed between two consecutives messages sent by a user
+ 2/ statistical module (ts_stats)
- 3/ number of messages sent by a user during a session
+ 3/ protocol-specific modules (ts_jabber and ts_http, for
+ example).
- 1.2/ monitoring process (ts_mon)
+ IDX-TSUNAMI use different types of acknoledgements to determine
+ when a the response of a request is over. For each requests, 4
+ options are possible:
- 2/ statistical module (ts_stats)
+ * parse -> the receiving process parse the response from the
+ server dans can warn the sending process when the response is
+ finish (function parse/2). This is used for HTTP.
+
+ * no_ack: as soon as the request has been sent, the next one is
+ executed (it can be a thinktime)
- 3/ a generic module for building user sessions (ts_profile)
+ * local: the request is acknoledge once a packet is received
+
+ * global: the request is acknoledge once all clients has
+ received an acknoledgement. This has been introduced for
+ Jabber: with that, you can set that users starts talking when
+ everyone is connected.
- 4/ protocol-specific modules (jabber_online or ts_http, for example).
How to add a new protocol, or extend an existing one:
====================================================
- A protocol has to implement the API defined in profile.erl, ie.
- must implement these functions:
- - get_client/2
- - get_random_message/1
+ To add a new protocol, you have to create a module that implement and
+ exports:
+
+ init_dynparams/0,
+ add_dynparams/2,
+ get_message/1,
+ parse/2,
+ parse_config/2,
+ new_session/0
- If you have to parse the responses from the server, two other
- functions has to be implemented:
- - parse/2
- - new_session/0
References:
==========
@@ -94,7 +108,7 @@ References:
- Stochastics models:
For more details on stochastics models and application to Web
- workload generators, take a look at:
+ workload generators, have a look at:
Nicolas Niclausse. Mod�lisation, analyse de performance et
dimensionnement du World Wide Web. Th�se de Doctorat (PhD), Universit�
View
4 doc/Design_fr.txt
@@ -1,3 +1,7 @@
+**********************************************************
+*** Ce document n'est pas � jour. Cf. version anglaise ***
+**********************************************************
+
Arbre de supervision OTP:
========================
View
35 doc/Jabber.txt
@@ -10,42 +10,19 @@ where XX is a integer between 1 and the maximum number of users (say 1000000).
or you can use jabber_register (see below).
-optional parameters: (can be set in idx-tsunamirc file)
+optional parameters: (can be set in idx-tsunami.xml file)
==================
-JABBER_DOMAIN=mydomain.com
-N_ROSTER_CLIENTS=6 (see below)
+jabber_domain=mydomain.com
modules implemented for the Jabber protocol:
============================================
- jabber_common: module regrouping common functions for building
messages
-- jabber_online: simulate users sending 'chat' messages to online clients only.
+NOTE: currently, no XML parsing is done by the receiving process (it
+would be very time consuming to parse thousands of simultaneous XML
+flows). It use acknoledgements instead based on the first packet
+received after the request has been sent.
-- jabber_unique: simulate users sending 'chat' messages to a single user.
- %% REM: work with one beam. Not tested with several beams.
-
-- jabber_offline: simulate users sending 'chat' messages to offline clients
- only.
-
-- jabber_auth: simulate users that connects to ther server and then
- leave without sending messages.
-
-- jabber_roster: simulate users sending presence, roster:set and
- roster:get messages.
- Each client send N_ROSTER_CLIENTS type='subscribed' messages, and
- after upload their roster MESSAGES_NUMBER times.
- the variable N_ROSTER_CLIENTS (6 by default) can be changed in the
- config file.
-
-- jabber_register: each simultated user send a jabber:iq:register,
- type=set message to the server.
-
-- jabber_dynamic: simulate users sending "dynamic" chat messages
- (messages are build on the fly by the process, and not at the startup
- time like other messages. This allow you to use a really big value for
- MESSAGES_NUMBER without taking too much memory).
-
-NOTE: currently, no XML parsing is done by the receiving process.
View
116 doc/tsunami-inside.fig
@@ -10,37 +10,37 @@ Single
0 32 #868286
0 33 #c7c3c7
0 34 #e7e3e7
-0 35 #808080
-0 36 #c0c0c0
-0 37 #e0e0e0
+0 35 #868286
+0 36 #bec3be
+0 37 #dfe3df
0 38 #8e8e8e
-0 39 #8e8f8e
-0 40 #444444
+0 39 #8e8e8e
+0 40 #494549
0 41 #868686
0 42 #c7c7c7
0 43 #e7e7e7
0 44 #f7f7f7
0 45 #9e9e9e
0 46 #717571
0 47 #414541
-0 48 #757575
+0 48 #717571
0 49 #414141
0 50 #effbff
-0 51 #404040
-0 52 #f3f3f3
-0 53 #aaaaaa
-0 54 #555555
+0 51 #414141
+0 52 #eff3ef
+0 53 #aeaaae
+0 54 #595559
0 55 #d7d3d7
0 56 #aeaaae
-0 57 #c2c2c2
+0 57 #bec3be
0 58 #303030
0 59 #515551
0 60 #f7f3f7
-0 61 #666666
+0 61 #616561
0 62 #717171
-0 63 #c6b797
-0 64 #eff8ff
-0 65 #dccba6
+0 63 #c7b696
+0 64 #effbff
+0 65 #dfcba6
0 66 #d7d7d7
0 67 #aeaeae
0 68 #bebebe
@@ -49,27 +49,6 @@ Single
0 71 #797979
0 72 #303430
0 73 #c7b696
-6 6525 6930 12330 10170
-1 4 0 2 73 63 50 -1 41 0.000 1 0.0000 7897 8505 413 413 7484 8505 8310 8505
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9517 9045 176 176 9341 9045 9693 9045
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9544 8595 176 176 9368 8595 9720 8595
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9544 8145 176 176 9368 8145 9720 8145
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9544 7695 176 176 9368 7695 9720 7695
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 10013 9035 176 176 9837 9035 10189 9035
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9994 8595 176 176 9818 8595 10170 8595
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9994 8145 176 176 9818 8145 10170 8145
-1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9994 7695 176 176 9818 7695 10170 7695
-2 4 0 2 40 34 57 -1 20 0.000 0 0 9 0 0 5
- 12285 10125 6570 10125 6570 6975 12285 6975 12285 10125
-2 1 1 2 20 7 50 -1 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 8415 8505 9270 8505
-2 4 0 3 73 65 52 -1 20 0.000 0 0 7 0 0 5
- 10755 9945 7065 9945 7065 7110 10755 7110 10755 9945
-4 0 18 50 -1 19 22 0.0000 4 240 1110 7245 9810 NODE3\001
-4 0 -1 50 -1 18 16 0.0000 4 180 1035 9360 9630 CLIENTS\001
-4 0 0 50 -1 18 16 0.0000 4 180 1380 7245 8010 LAUNCHER\001
--6
1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 4267 7335 413 413 3854 7335 4680 7335
1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 4312 6255 413 413 3899 6255 4725 6255
1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 4312 5265 413 413 3899 5265 4725 5265
@@ -92,21 +71,21 @@ Single
1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 10039 5355 176 176 9863 5355 10215 5355
1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 10039 4905 176 176 9863 4905 10215 4905
1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 10039 4455 176 176 9863 4455 10215 4455
-2 4 0 2 40 34 55 -1 20 0.000 0 0 9 0 0 5
- 5625 8865 450 8865 450 2925 5625 2925 5625 8865
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 4254 8394 413 413 3841 8394 4667 8394
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 7961 3150 176 176 7785 3150 8137 3150
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 7916 6075 176 176 7740 6075 8092 6075
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 7875 9270 176 176 7699 9270 8051 9270
+1 4 0 2 73 63 50 -1 41 0.000 1 0.0000 7897 8505 413 413 7484 8505 8310 8505
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9517 9045 176 176 9341 9045 9693 9045
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9544 8595 176 176 9368 8595 9720 8595
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9544 8145 176 176 9368 8145 9720 8145
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9544 7695 176 176 9368 7695 9720 7695
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 10013 9035 176 176 9837 9035 10189 9035
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9994 8595 176 176 9818 8595 10170 8595
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9994 8145 176 176 9818 8145 10170 8145
+1 4 0 2 73 63 50 -1 20 0.000 1 0.0000 9994 7695 176 176 9818 7695 10170 7695
2 4 0 2 40 34 56 -1 20 0.000 0 0 9 0 0 5
12285 6840 6525 6840 6525 810 12285 810 12285 6840
-2 4 0 3 73 65 52 -1 20 0.000 0 0 7 0 0 5
- 5220 8190 720 8190 720 3510 5220 3510 5220 8190
-2 1 0 2 20 7 50 -1 -1 0.000 0 0 -1 0 1 2
- 1 1 2.00 120.00 240.00
- 5085 6840 7470 2430
-2 1 0 2 20 7 50 -1 -1 0.000 0 0 -1 0 1 2
- 1 1 2.00 120.00 240.00
- 5058 6880 7398 8500
-2 1 0 2 20 7 50 -1 -1 0.000 0 0 -1 0 1 2
- 1 1 2.00 120.00 240.00
- 5106 6893 7491 5408
2 1 1 2 20 7 50 -1 -1 6.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
8460 2295 9315 2295
@@ -126,21 +105,44 @@ Single
10800 3780 7110 3780 7110 945 10800 945 10800 3780
2 4 0 3 73 65 52 -1 20 0.000 0 0 7 0 0 5
10800 6705 7110 6705 7110 3870 10800 3870 10800 6705
-3 4 0 1 20 7 50 0 -1 0.000 0 0 0 7
- 4860 5834 4936 5834 4936 6846 5011 6846 4936 6846 4936 7859
- 4860 7859
- 0.000 1.000 1.000 0.000 1.000 1.000 0.000
-4 0 18 50 -1 19 22 0.0000 4 240 1110 7290 3645 NODE1\001
-4 0 18 50 -1 19 22 0.0000 4 240 1110 7245 6570 NODE2\001
-4 0 18 50 -1 19 22 0.0000 4 240 1110 945 7965 NODE0\001
+2 4 0 2 40 34 55 -1 20 0.000 0 0 9 0 0 5
+ 5625 9365 450 9365 450 2925 5625 2925 5625 9365
+2 4 0 3 73 65 52 -1 20 0.000 0 0 7 0 0 5
+ 5220 9090 720 9090 720 3510 5220 3510 5220 9090
+2 4 0 2 40 34 57 -1 20 0.000 0 0 9 0 0 5
+ 12285 10125 6570 10125 6570 6975 12285 6975 12285 10125
+2 1 1 2 20 7 50 -1 -1 6.000 0 0 -1 1 0 2
+ 1 1 2.00 120.00 240.00
+ 8415 8505 9270 8505
+2 4 0 3 73 65 52 -1 20 0.000 0 0 7 0 0 5
+ 10755 9945 7065 9945 7065 7110 10755 7110 10755 9945
+2 1 0 2 20 7 50 -1 -1 0.000 0 0 -1 0 1 2
+ 1 1 2.00 120.00 240.00
+ 4950 7581 7290 9201
+2 1 0 1 20 7 50 0 -1 0.000 0 0 -1 1 0 3
+ 1 1 1.00 60.00 120.00
+ 7785 3195 6795 3195 4815 7245
+2 1 0 1 20 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 7695 6075 4905 7335
4 0 47 50 -1 19 24 0.0000 4 285 3465 3015 1125 TSUNAMI-CLIENT1\001
4 0 40 50 -1 19 24 0.0000 4 285 3465 3060 9855 TSUNAMI-CLIENT2\001
4 0 40 50 -1 19 24 0.0000 4 285 2550 135 2745 CONTROLLER\001
4 0 -1 50 -1 18 16 0.0000 4 180 1035 9405 3465 CLIENTS\001
4 0 -1 50 -1 18 16 0.0000 4 180 1035 9405 6390 CLIENTS\001
4 0 0 50 -1 18 16 0.0000 4 180 1380 7335 1890 LAUNCHER\001
4 0 0 50 -1 18 16 0.0000 4 225 2250 1620 6345 TS_USER_SERVER\001
-4 0 0 50 -1 18 16 0.0000 4 225 2100 1710 7425 TS_REQ_SERVER\001
4 0 0 50 -1 18 16 0.0000 4 180 1380 7335 4770 LAUNCHER\001
4 0 0 50 -1 18 16 0.0000 4 225 1020 2835 4320 TS_MON\001
4 0 0 50 -1 18 16 0.0000 4 225 1185 2655 5310 TS_TIMER\001
+4 0 18 50 -1 19 22 0.0000 4 285 1290 1080 4770 NODE0\001
+4 0 0 50 -1 18 16 0.0000 4 225 1515 2115 8550 TS_OS_MON\001
+4 0 0 50 -1 18 16 0.0000 4 225 2520 1260 7425 TS_CONFIG_SERVER\001
+4 0 18 50 -1 19 22 0.0000 4 285 1290 10395 4275 NODE2\001
+4 0 18 50 -1 19 22 0.0000 4 285 1290 10395 1395 NODE1\001
+4 0 -1 50 -1 18 16 0.0000 4 180 1035 9360 9630 CLIENTS\001
+4 0 0 50 -1 18 16 0.0000 4 180 1380 7245 8010 LAUNCHER\001
+4 0 18 50 -1 19 22 0.0000 4 285 1290 10350 7560 NODE3\001
+4 0 -1 50 -1 18 12 0.0000 4 180 1590 7380 9720 SESSION_CACHE\001
+4 0 -1 50 -1 18 12 0.0000 4 180 1590 7290 6570 SESSION_CACHE\001
+4 0 -1 50 -1 18 12 0.0000 4 180 1590 7245 3645 SESSION_CACHE\001

0 comments on commit c5fcb80

Please sign in to comment.
Something went wrong with that request. Please try again.