Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

update

SVN Revision: 185
  • Loading branch information...
commit 89960ccb8b0a1227dd5b03ea54e3079270444e72 1 parent 8ac455b
@nniclausse nniclausse authored
Showing with 54 additions and 35 deletions.
  1. +13 −5 CHANGES
  2. +9 −4 CONTRIBUTORS
  3. +6 −3 Makefile
  4. +22 −17 README
  5. +4 −6 TODO
View
18 CHANGES
@@ -1,12 +1,20 @@
0.2.1 -> 0.3.0: Major Feature Enhancements
- - rewrite the configuration engine. now use an XML file.
- - can now use several client IPs per machine
- - several arrival phases can be set with different arrival rates and duration
+ - rewrite the configuration engine. Now use an XML file.
+ - add recording application: use as a HTTP proxy to record session into XML
+ format
+ - add support to OS monitoring (cpu, memory, network). Currently, use an
+ erlang agent on the remote nodes; SNMP is on the TODO list.
+ (mickael.remond@erlang-fr.org)
+ - can now use several IPs per client host
+ - several arrival phases can be set with different arrival rates and
+ duration
- can set test duration instead of number of users
- add user defined statistics using a 'transaction' tag
- - fix cookies handling in http (mickael.remond@erlang-fr.org)
+ - HTTP: fix cookies and POST handling (mickael.remond@erlang-fr.org)
+ - HTTP: rewrite the parser (faster and cleaner)
- fix bad timeout computation when close occur for persistent client
- - fix very slow implemetation ts_stats.erl:sample
+ - bugfixes and other enhancements.
+ - fix memory leak with ssl (half-closed connections)
0.2.0 -> 0.2.1: Minor bugfixes and small enhancements (9 Dec 2003)
- optimize session memory consumption: use an ets table to store session setup
View
13 CONTRIBUTORS
@@ -1,8 +1,13 @@
$Id$
-AUTHORS OF IDX-TSUNAMI:
+AUTHOR:
======================
-o Nicolas Niclausse <nicolas.niclausse@IDEALX.com>: Maintainer; design
- and initial implementation; OTP redesign.
-o Jean Fran�ois Lecomte <jflecomte@IDEALX.com>: several enhancements.
+o Nicolas Niclausse <nicolas.niclausse@IDEALX.com>: Maintainer;
+
+CONTRIBUTORS:
+======================
+o Jean Fran�ois Lecomte <jflecomte@IDEALX.com>: several enhancements for Jabber
+
+o Mickael R�mond <mickael.remond@erlang-fr.org>: server monitoring;
+ HTTP tests and fixes for POST and Cookies,
View
9 Makefile
@@ -14,10 +14,13 @@ ERLC_EMULATOR=/usr/bin/erl
export ERLC_EMULATOR
ERL_COMPILER_OPTIONS="[warn_unused_vars]"
export ERL_COMPILER_OPTIONS
-OPTIONS:=+debug_info
+## for debugging
+#OPTIONS:=+debug_info -DDEBUG
+## To enable HIPE
#OPTIONS:=+native +\{hipe,\[o3\]\}
+## To export all functions
#OPTIONS:=+export_all
-#OPTIONS:=
+OPTIONS:=
INC = ./include
ERLC = erlc $(OPTIONS) -I $(INC)
OUTDIR = ebin
@@ -32,7 +35,7 @@ show:
tarball:
mkdir -p $(TARDIR)
- 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
+ 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
tar -C $(TARDIR) -zxf tmp.tgz
mkdir $(TARDIR)/ebin
tar zvcf idx-tsunami-$(VSN).tar.gz $(TARDIR)
View
39 README
@@ -32,9 +32,9 @@
1.2. What This Package Is
- The purpose of this package is to simulate users in order to test
+ The purpose of IDX-TSUNAMI 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
+ 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.
@@ -47,18 +47,21 @@
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
+ In this context, a client's session is characterize by:
+ - the mean time elapsed between requests ("think time")
+ - a list 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.
+ At the end of a session, the client stops.
+
+ Another key parameters are the mean time between clients arrival,
+ and 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 non random.
+ can also be fixed (determinist).
The traffic can be logged to a file and, after completion of
all the clients, these files can be analyzed by scripts to get
@@ -67,8 +70,9 @@
are computed, for different types of messages: authentication,
chat, offline messages ...) and generic statistics.
- Since v0.2.0, stats can also be computed in real-time, and dumped in
- a text file at regular interval.
+ Since v0.2.0, stats are also be computed in real-time, and dumped in
+ a text file at regular interval. A script is provided to print
+ graphics using gnuplot.
This software is currently under development and can be enhanced
in many ways (see TODO file).
@@ -84,6 +88,9 @@
- gnuplot and perl5 (optional; for graphical output with analyse_msg.pl script)
+ - for distributed test, you need an ssh access to remote machines
+ without passwd (use a RSA key without passphrase)
+
2.2. Compilation and Installation
Edit Makefile if you want to change the install path (prefix)
@@ -97,28 +104,27 @@
make install
How to use it:
- 1a/ Edit etc/idx-tsunami.xml file (read the comments for explanation on
- the parameters, there is a sample file etc/idx-tsunami_default.xml)
+ 1a/ Edit $prefix/etc/idx-tsunami.xml file (read the comments for explanation
+ on the parameters, there is a sample file etc/idx-tsunami_default.xml)
1b/ Read the doc/Jabber.txt file for Jabber-specific information.
2/ use "idx-tsunami 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 for Jabber, see comments in 'idx-tsunami.xml' ).
+ statistical results from the logfiles.
Since v0.2.0, you can have 'realtime' stats using with the
--stats and --plot option (no monitoring needed). It will
generate graphics in postscript using gnuplot. For HTTP, you
MUST use --stats. This option requires a logfile, by default it
- is named 'idx-tsunami.log0'
+ is named 'idx-tsunami.log-YYYY:MM:DD-HH:mm'
Every 10sec (default value), stats are dump in the log file,
and the script can create graphics about the current activity.
Availables stats:
- - response_time (response time for each subrequest (~ request for HTTP))
- - page_resptime (response time for each 'action' (~ page for HTTP))
+ - 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)
@@ -127,7 +133,6 @@
HTTP specific stats:
- counter for each response status (200, 404, etc.)
- - parse_error (error while parsing HTTP Headers and body)
- http_bad_content_length (Body is larger than expected)
- http_no_content_length
View
10 TODO
@@ -1,20 +1,18 @@
-P1 finish new configuration system
-
-P2 add proxy mode to build session file
-P2 add remote monitoring of servers via SNMP
+P2 add SNMP support to remote monitoring of servers
P2 make jabber work again with new configuration system
+P2 handle WWW-authentication
P3 improve documentation
P3 other useful protocols: ftp, smtp, ldap, sql ... ?
P3 handle all cookies attributes
-P3 add custom http headers ?
+P4 add custom http headers ?
P4 add multiple tcp connections per client (for http) ?
-P4 add capability to send several samples at once to ts_mon
P4 clients may do a checksum to control integrity of responses ?
P5 groupchat for Jabber
P5 handle http/1.1 pipelining ?
- cache ssl session ID => NOT SUPPORTED BY SSL APPLICATION
+
Please sign in to comment.
Something went wrong with that request. Please try again.