Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

update

SVN Revision: 185
  • Loading branch information...
commit 89960ccb8b0a1227dd5b03ea54e3079270444e72 1 parent 8ac455b
Nicolas Niclausse nniclausse authored

Showing 5 changed files with 54 additions and 35 deletions. Show diff stats Hide diff stats

  1. +13 5 CHANGES
  2. +9 4 CONTRIBUTORS
  3. +6 3 Makefile
  4. +22 17 README
  5. +4 6 TODO
18 CHANGES
... ... @@ -1,12 +1,20 @@
1 1 0.2.1 -> 0.3.0: Major Feature Enhancements
2   - - rewrite the configuration engine. now use an XML file.
3   - - can now use several client IPs per machine
4   - - several arrival phases can be set with different arrival rates and duration
  2 + - rewrite the configuration engine. Now use an XML file.
  3 + - add recording application: use as a HTTP proxy to record session into XML
  4 + format
  5 + - add support to OS monitoring (cpu, memory, network). Currently, use an
  6 + erlang agent on the remote nodes; SNMP is on the TODO list.
  7 + (mickael.remond@erlang-fr.org)
  8 + - can now use several IPs per client host
  9 + - several arrival phases can be set with different arrival rates and
  10 + duration
5 11 - can set test duration instead of number of users
6 12 - add user defined statistics using a 'transaction' tag
7   - - fix cookies handling in http (mickael.remond@erlang-fr.org)
  13 + - HTTP: fix cookies and POST handling (mickael.remond@erlang-fr.org)
  14 + - HTTP: rewrite the parser (faster and cleaner)
8 15 - fix bad timeout computation when close occur for persistent client
9   - - fix very slow implemetation ts_stats.erl:sample
  16 + - bugfixes and other enhancements.
  17 + - fix memory leak with ssl (half-closed connections)
10 18
11 19 0.2.0 -> 0.2.1: Minor bugfixes and small enhancements (9 Dec 2003)
12 20 - optimize session memory consumption: use an ets table to store session setup
13 CONTRIBUTORS
... ... @@ -1,8 +1,13 @@
1 1 $Id$
2 2
3   -AUTHORS OF IDX-TSUNAMI:
  3 +AUTHOR:
4 4 ======================
5 5
6   -o Nicolas Niclausse <nicolas.niclausse@IDEALX.com>: Maintainer; design
7   - and initial implementation; OTP redesign.
8   -o Jean Fran�ois Lecomte <jflecomte@IDEALX.com>: several enhancements.
  6 +o Nicolas Niclausse <nicolas.niclausse@IDEALX.com>: Maintainer;
  7 +
  8 +CONTRIBUTORS:
  9 +======================
  10 +o Jean Fran�ois Lecomte <jflecomte@IDEALX.com>: several enhancements for Jabber
  11 +
  12 +o Mickael R�mond <mickael.remond@erlang-fr.org>: server monitoring;
  13 + HTTP tests and fixes for POST and Cookies,
9 Makefile
@@ -14,10 +14,13 @@ ERLC_EMULATOR=/usr/bin/erl
14 14 export ERLC_EMULATOR
15 15 ERL_COMPILER_OPTIONS="[warn_unused_vars]"
16 16 export ERL_COMPILER_OPTIONS
17   -OPTIONS:=+debug_info
  17 +## for debugging
  18 +#OPTIONS:=+debug_info -DDEBUG
  19 +## To enable HIPE
18 20 #OPTIONS:=+native +\{hipe,\[o3\]\}
  21 +## To export all functions
19 22 #OPTIONS:=+export_all
20   -#OPTIONS:=
  23 +OPTIONS:=
21 24 INC = ./include
22 25 ERLC = erlc $(OPTIONS) -I $(INC)
23 26 OUTDIR = ebin
@@ -32,7 +35,7 @@ show:
32 35
33 36 tarball:
34 37 mkdir -p $(TARDIR)
35   - tar zcf tmp.tgz src/*.erl src/*.src include/*.hrl doc/*.txt doc/*.fig doc/*.png LISEZMOI README CONTRIBUTORS COPYING idx-tsunamirc TODO Makefile vsn.mk src/analyse_msg.pl.src FAQ CHANGES
  38 + tar zcf tmp.tgz src/*.erl src/*.src include/*.hrl doc/*.txt doc/*.fig doc/*.png LISEZMOI README CONTRIBUTORS COPYING idx-tsunami.sh idx-tsunami.xml TODO Makefile vsn.mk src/analyse_msg.pl.src FAQ CHANGES
36 39 tar -C $(TARDIR) -zxf tmp.tgz
37 40 mkdir $(TARDIR)/ebin
38 41 tar zvcf idx-tsunami-$(VSN).tar.gz $(TARDIR)
39 README
@@ -32,9 +32,9 @@
32 32
33 33 1.2. What This Package Is
34 34
35   - The purpose of this package is to simulate users in order to test
  35 + The purpose of IDX-TSUNAMI is to simulate users in order to test
36 36 the scalability and performances of IP based client/server
37   - applications. Currently, only the Jabber protocol has been
  37 + applications. Currently, HTTP and Jabber protocol have been
38 38 implemented and tested, but it can be easily extended (see
39 39 doc/Design.txt). IDX-TSUNAMI use the Erlang language.
40 40
@@ -47,18 +47,21 @@
47 47 stochastic model, in order to achieve a more realistic traffic than
48 48 other simple models (deterministics).
49 49
50   - In this context, a client is characterize by:
51   - - the mean time elapsed between each request ("think time")
52   - - the number of requests during a session
  50 + In this context, a client's session is characterize by:
  51 + - the mean time elapsed between requests ("think time")
  52 + - a list of requests during a session
53 53 - the type and parameters of requests (including, for example,
54 54 'chat' message size for Jabber)
55 55
56   - Another key parameter is the arrival rate of clients.
  56 + At the end of a session, the client stops.
  57 +
  58 + Another key parameters are the mean time between clients arrival,
  59 + and the duration of the test.
57 60
58 61 In the current implementation, the client arrival rate and the user
59 62 "think time" are represented by an exponential distribution
60 63 (therefore, the arrival process is a Poisson process). The thinktime
61   - can also be non random.
  64 + can also be fixed (determinist).
62 65
63 66 The traffic can be logged to a file and, after completion of
64 67 all the clients, these files can be analyzed by scripts to get
@@ -67,8 +70,9 @@
67 70 are computed, for different types of messages: authentication,
68 71 chat, offline messages ...) and generic statistics.
69 72
70   - Since v0.2.0, stats can also be computed in real-time, and dumped in
71   - a text file at regular interval.
  73 + Since v0.2.0, stats are also be computed in real-time, and dumped in
  74 + a text file at regular interval. A script is provided to print
  75 + graphics using gnuplot.
72 76
73 77 This software is currently under development and can be enhanced
74 78 in many ways (see TODO file).
@@ -84,6 +88,9 @@
84 88
85 89 - gnuplot and perl5 (optional; for graphical output with analyse_msg.pl script)
86 90
  91 + - for distributed test, you need an ssh access to remote machines
  92 + without passwd (use a RSA key without passphrase)
  93 +
87 94 2.2. Compilation and Installation
88 95
89 96 Edit Makefile if you want to change the install path (prefix)
@@ -97,28 +104,27 @@
97 104 make install
98 105
99 106 How to use it:
100   - 1a/ Edit etc/idx-tsunami.xml file (read the comments for explanation on
101   - the parameters, there is a sample file etc/idx-tsunami_default.xml)
  107 + 1a/ Edit $prefix/etc/idx-tsunami.xml file (read the comments for explanation
  108 + on the parameters, there is a sample file etc/idx-tsunami_default.xml)
102 109
103 110 1b/ Read the doc/Jabber.txt file for Jabber-specific information.
104 111
105 112 2/ use "idx-tsunami start" to launch the simulated clients.
106 113
107 114 3/ When it's finished, you can use analyse_msg.pl to get
108   - statistical results from the logfiles (require at least 'light'
109   - monitoring for Jabber, see comments in 'idx-tsunami.xml' ).
  115 + statistical results from the logfiles.
110 116
111 117 Since v0.2.0, you can have 'realtime' stats using with the
112 118 --stats and --plot option (no monitoring needed). It will
113 119 generate graphics in postscript using gnuplot. For HTTP, you
114 120 MUST use --stats. This option requires a logfile, by default it
115   - is named 'idx-tsunami.log0'
  121 + is named 'idx-tsunami.log-YYYY:MM:DD-HH:mm'
116 122 Every 10sec (default value), stats are dump in the log file,
117 123 and the script can create graphics about the current activity.
118 124
119 125 Availables stats:
120   - - response_time (response time for each subrequest (~ request for HTTP))
121   - - page_resptime (response time for each 'action' (~ page for HTTP))
  126 + - response_time (response time for each request (~ request for HTTP))
  127 + - page_resptime (response time for each set of requests (~ page for HTTP))
122 128 - connect (duration of the connection)
123 129 - reconnect (number of reconnection)
124 130 - size (size of responses)
@@ -127,7 +133,6 @@
127 133
128 134 HTTP specific stats:
129 135 - counter for each response status (200, 404, etc.)
130   - - parse_error (error while parsing HTTP Headers and body)
131 136 - http_bad_content_length (Body is larger than expected)
132 137 - http_no_content_length
133 138
10 TODO
... ... @@ -1,20 +1,18 @@
1 1
2   -P1 finish new configuration system
3   -
4   -P2 add proxy mode to build session file
5   -P2 add remote monitoring of servers via SNMP
  2 +P2 add SNMP support to remote monitoring of servers
6 3 P2 make jabber work again with new configuration system
  4 +P2 handle WWW-authentication
7 5
8 6 P3 improve documentation
9 7 P3 other useful protocols: ftp, smtp, ldap, sql ... ?
10 8 P3 handle all cookies attributes
11   -P3 add custom http headers ?
12 9
  10 +P4 add custom http headers ?
13 11 P4 add multiple tcp connections per client (for http) ?
14   -P4 add capability to send several samples at once to ts_mon
15 12 P4 clients may do a checksum to control integrity of responses ?
16 13
17 14 P5 groupchat for Jabber
18 15 P5 handle http/1.1 pipelining ?
19 16
20 17 - cache ssl session ID => NOT SUPPORTED BY SSL APPLICATION
  18 +

0 comments on commit 89960cc

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