[jdev] RE: Client load and stress test simulator? (Roberto Della Pasqua)

Brijesh brijesh at india.hp.com
Wed Apr 6 09:20:35 CDT 2005

Hello kind list,

I like proceed with massive loadstress simulator for XMPP server, does exist
already built tools for simulate massive load stress test in a LAN? So to
obtain number of I/O bytes, latency, number of concurrent users...

Thank you very much for any help and best regards.

Hi Roberto,

Performance test can be done using JabSimul open source tool. JabSimul
generates N number of connections, simulates common user actions (connection
status, messages, roster management). Currently JabSimul doesn’t support
TC/JUD/Client-Server locking/SSL encryption. This tool can be downloaded
from http://www.jabberstudio.org/cgi-bin/viewcvs.cgi/jabsimul/jab_simul/.

!!!!Note : Use Jabber Test Suite to create users in your database/flat file

Here is the steps:
-Building JabSimul

1.      Download the code from sourceforge.net.
cvs -z3 -d:pserver:anonymous at jabberstudio.org:/home/cvs co jabsimul

2.      Go to jabsimul directory
cd jabsimul/jab_simul/

3.      copy example makefile
cp jab_simul.xml.example jab_simul.xml

4.      copy example makefile & make.
cp jab_simul.xml.example jab_simul.xmlmake

5.      Edit namespace_pars.y and add a new line after line 27:

6.      Edit Makefile and replace 'byacc' with 'yacc'. Compile it. It will
create a jabsimul binary.
7.      Edit jab_simul.xml according to requirement.
<!--how often a login is done à
<!-- add_roster: add a contact to the user roster every 'frequency' until
'max_roster_count' is reached -->
<!-- del_roster: removes a contact from the roster after given frequency -->
<!--send a message à
<!-- users that will receive messagesà
<!-- Xfile: file with the content of the message à
        <random_stream len="1000"/>

-How to use JabSimul
1.      Create 10k users in oracle database using Jabber test Suite
“userreg” command.
./userreg -h jabber.org -u 10000

2.      Execute the Jabsimul binary from different boxes (depends on m/c

The results will come in the following format(can be stored in file):

Conn stat:  conns:  total: 7     estabilished: 7
            kills:  total: 0     unexpected:   0
Messages:   tot.sent:     39     tot.rcvd:   35
            rcvd.offline: 1      rcvd.admin: 0
            rcvd.normal:  34     fwd: 17         avg.time:   44 [ms]
            diff check:   4      stability:  3
Roster:     tot.adds:     8      avg.time:   50 [ms]
            tot.dels:     15     avg.time:   63 [ms]     glob_rost: 4
Presences:  tot.sent:     18     tot.rcvd:   29
Packets:    created:      127        sent:   127
           canceled:     0      in queues:   0

>From the above results few parameters are important to note down:

Connection Status
-       cons: Number of users connected
-       established: Total number of concurrent users
-       kills: Dropped connections
-       unexpected: abnormal termination

Message Status
-       tot.sent: Total number of message sent
-       tot.rcvd: Total number of message received
-       rcvd.offline: Total number of offline message received
-       rcvd.admin: Total number of message received by admin

Roster Status
-       tot.adds: Total roster added to various accounts
-       tot.dels: Total roster deleted from various accounts


<< ella for Spam Control >> has removed 10974 Spam messages and set aside
2923 Newsletters for me
You can use it too - and it's FREE!  www.ellaforspam.com	

More information about the JDev mailing list