[JDEV] stress testing cygwin - more info
Duncan Hoyle
duncanh at granada-learning.com
Wed Jul 24 07:19:08 CDT 2002
This is a follow up to
http://mailman.jabber.org/pipermail/jadmin/2002-July/006004.html
providing a little more info in a hope someone may be able
to help (from the requests for cygwin help there must be
someone whose managed to get jabberd on cygwin running and
tried some stress tests).
Further tests have revealed...
a)if I try to log in 100 users with the testsuite the server
freezes at 55 users (see above link)
b)if I log in 50 users I can, but afterwards the server
continually loops with debug msgs of ...
mio.c:607 mio while loop top
mio.c:607 mio while loop, working
i)if after (b) I log in a single user with winJab the
server accepts it but then continues with the mio loop
messages
ii)if after (ii) I log in another 4 users the server stops
processing input (browsing, connecting) as in the above link
c)this doesn't appear to be a limit on the number of
connections in Windows, as I can have another jabberd
running on the same machine using a different name, and they
both top out at 55 connections.
d)if I run testsuite locally and create 25 connections and
then run from another machine connecting to the same server,
I get a total of 55 connections.
All of these happen on XP, NT and 2000 Server, and using
spool files or mysql database.
Originally I tested using perl, and got the same problem, so
I figure the testsuite isn't at fault.
I've included my jabber.xml file for reference - it's pretty
standard except I've removed the comments (just for posting)
and changed the server name (not accessable externally).
Any suggestions?
Duncan
<jabber>
<service id="sessions">
<host><jabberd:cmdline
flag="h">winjabber.ilp.com</jabberd:cmdline></host>
<jsm xmlns="jabber:config:jsm">
<filter>
<default/>
<max_size>100</max_size>
<allow>
<conditions>
<ns/>
<unavailable/>
<from/>
<resource/>
<subject/>
<body/>
<show/>
<type/>
<roster/>
<group/>
</conditions>
<actions>
<error/>
<offline/>
<forward/>
<reply/>
<continue/>
<settype/>
</actions>
</allow>
</filter>
<vCard>
<FN>Jabber Server</FN>
<DESC>A Jabber Server!</DESC>
<URL>http://foo.bar/</URL>
</vCard>
<register notify="yes">
<instructions>Choose a username and password to
register with this server.</instructions>
<name/>
<email/>
</register>
<welcome>
<subject>Welcome!</subject>
<body>Welcome to the Jabber server at
winjabber.ilp.com -- we hope you enjoy this service! For
information about how to use Jabber, visit the Jabber User's
Guide at http://docs.jabber.org/</body>
</welcome>
<vcard2jud/>
<browse>
</browse>
</jsm>
<load main="jsm">
<jsm>./jsm/jsm.dll</jsm>
<mod_echo>./jsm/jsm.dll</mod_echo>
<mod_roster>./jsm/jsm.dll</mod_roster>
<mod_time>./jsm/jsm.dll</mod_time>
<mod_vcard>./jsm/jsm.dll</mod_vcard>
<mod_last>./jsm/jsm.dll</mod_last>
<mod_version>./jsm/jsm.dll</mod_version>
<mod_announce>./jsm/jsm.dll</mod_announce>
<mod_agents>./jsm/jsm.dll</mod_agents>
<mod_browse>./jsm/jsm.dll</mod_browse>
<mod_admin>./jsm/jsm.dll</mod_admin>
<mod_filter>./jsm/jsm.dll</mod_filter>
<mod_offline>./jsm/jsm.dll</mod_offline>
<mod_presence>./jsm/jsm.dll</mod_presence>
<mod_auth_plain>./jsm/jsm.dll</mod_auth_plain>
<mod_auth_digest>./jsm/jsm.dll</mod_auth_digest>
<!--mod_auth_0k>./jsm/jsm.dll</mod_auth_0k-->
<mod_log>./jsm/jsm.dll</mod_log>
<mod_register>./jsm/jsm.dll</mod_register>
<mod_xml>./jsm/jsm.dll</mod_xml>
</load>
</service>
<xdb id="xdb">
<host/>
<load>
<xdb_file>./xdb_file/xdb_file.dll</xdb_file>
</load>
<xdb_file xmlns="jabber:config:xdb_file">
<spool><jabberd:cmdline
flag='s'>./spool</jabberd:cmdline></spool>
</xdb_file>
</xdb>
<service id="c2s">
<load>
<pthsock_client>./pthsock/pthsock_client.dll</pthsock_client>
</load>
<pthcsock xmlns='jabber:config:pth-csock'>
<authtime/>
<karma>
<init>10</init>
<max>10</max>
<inc>1</inc>
<dec>1</dec>
<penalty>-6</penalty>
<restore>10</restore>
</karma>
<ip port="5222"/>
</pthcsock>
</service>
<log id='elogger'>
<host/>
<logtype/>
<format>%d: [%t] (%h): %s</format>
<file>error.log</file>
<stderr/>
</log>
<log id='rlogger'>
<host/>
<logtype>record</logtype>
<format>%d %h %s</format>
<file>record.log</file>
</log>
<service id="dnsrv">
<host/>
<load>
<dnsrv>./dnsrv/dnsrv.dll</dnsrv>
</load>
<dnsrv xmlns="jabber:config:dnsrv">
<resend service="_jabber._tcp">s2s</resend>
<resend>s2s</resend>
</dnsrv>
</service>
<service id="s2s">
<load>
<dialback>./dialback/dialback.dll</dialback>
</load>
<dialback xmlns='jabber:config:dialback'>
<legacy/>
<ip port="5269"/>
<karma>
<init>50</init>
<max>50</max>
<inc>4</inc>
<dec>1</dec>
<penalty>-5</penalty>
<restore>50</restore>
</karma>
</dialback>
</service>
<io>
<rate points="5" time="25"/>
</io>
<pidfile>./jabber.pid</pidfile>
</jabber>
More information about the JDev
mailing list