XMPP Server performance tests.

  1. Get server version
  2. Server configuration
  3. Get server statistics
  4. Script with performance tests, selected tests are repeated $(repeats) times, processing time is measured for each XMPP/Jabber feature
  5. Multi-threaded preformance tests for various XMPP functions

Test start time: 07-May-2007 15:15:23

Server version info:

Name:  Tigase
Version:  2.8.6-b434
OS:  Linux-i386-2.6.20-gentoo, Java HotSpot(TM) Server VM-1.6.0-b105-Sun Microsystems Inc.
    
Local IP:  192.168.0.13
Remote IP:  192.168.0.13

Server basic configuration parameters:

sess_man:auth-repo-url user-repository.xml
sess_man:auth-repo-class tigase.db.xml.XMLRepository
sess_man:components jabber:iq:register, jabber:iq:auth, urn:ietf:params:xml:ns:xmpp-sasl, urn:ietf:params:xml:ns:xmpp-bind, urn:ietf:params:xml:ns:xmpp-session, jabber:iq:roster, jabber:iq:privacy, presence, jabber:iq:version, http://jabber.org/protocol/stats, starttls, msgoffline, vcard-temp, http://jabber.org/protocol/commands, jabber:iq:private, urn:xmpp:ping
sess_man:admins admin@test-d, admin@test-domain
sess_man:user-repo-class tigase.db.xml.XMLRepository
sess_man:max-queue-size 1000
sess_man:hostnames test-d, test-domain
sess_man:user-repo-url user-repository.xml

Tests results:

Test name Result Total time OK Average Description
Version success 0 sec 1 20 ms Get server version
Configuration success 0 sec 1 60 ms Server configuration
Statistics success 0 sec 1 50 ms Get server statistics
Server warm up 1 success 18 sec 100 185 ms Send 100 messages to self user over SSL
Server warm up 2 success 0 sec 100 3 ms Send 100 messages to self user over SSL on one connection
Test 1 success 9 sec 1000 9 ms Add and remove account 1000 times
Test 2 success 3 sec 1000 3 ms Register 1000 user accounts
Test 3 success 4 sec 1000 4 ms Unregister 1000 user accounts
Prep 2 success 0 sec 10 3 ms Setup 10 user daemon wating for messages
Test 4 success 11 sec 1000 11 ms Test message send 1000 * 10 * 2 times with 10 active connections
Prep 5 success 0 sec 90 5 ms Setup 90 user daemons
Test 5 success 11 sec 1000 11 ms Test message send 1000 * 10 * 2 times with 90 active connections
Prep 7 success 2 sec 900 3 ms Setup 900 user daemons
Test 6 success 11 sec 1000 11 ms Test message send 1000 * 10 * 2 times with 900 active connections
Test 7 success 164 sec 1000 164 ms Add and remove account 1000 times over SSL
Test 8 success 162 sec 1000 162 ms Bind XMPP session over TLS 1000 times
Test 9 success 12 sec 1000 12 ms Send 1000 * 10 * 2 messages to long-list-user_1 user with very long privacy list
Multi 1 success 808 sec 10000 80 ms Multi-thread test send 1000 * 10 * 2 messages by each thread to daemon users
Multi 2 success 858 sec 10000 85 ms Multi-thread test send 1000 * 10 * 2 messages to long-list-user_1 user with very long privacy list

Test end time: 07-May-2007 15:25:24

Total test time: 0 hours, 10 minutes, 0 seconds, 699 ms.

Server stats after test:

s2s:Queue size 0
s2s:Packets received 0
s2s:Queue overflow 0
s2s:Open connections 0
s2s:Open s2s connections 0
s2s:Packets queued 0
s2s:Connecting s2s connections 0
s2s:Handshaking s2s connections 0
s2s:s2s connections null
c2s:Queue size 0
c2s:Packets received 1037995
c2s:Queue overflow 0
c2s:Open connections 1022
sess_man:Queue size 0
sess_man:Packets received 1997984
sess_man:Queue overflow 0
sess_man:Open connections 1024
sess_man:Open authorized sessions 1004
sess_man:Closed connections 4142
tigase-xmpp-server:Queue size 0
tigase-xmpp-server:Packets received 1517998
tigase-xmpp-server:Queue overflow 0
tigase-xmpp-server:Uptime 10 min, 8 sec