How to reproduce tests?

Hello.

I am looking for jabber server that can support thousands of concurent users. From jabber.org’'s comparison chart, I knew that Jive Messenger was tested on 5000. When I tryed to reproduce tests, following exception was thrown:

Exception in thread “Socket Listener at port 5222” java.lang.OutOfMemoryError: unable to create new native thread

at java.lang.Thread.start0(Native Method)

at java.lang.Thread.start(Unknown Source)

at org.jivesoftware.messenger.spi.ConnectionManagerImpl.addSocket(ConnectionManage rImpl.java:242)

at org.jivesoftware.messenger.net.SocketAcceptThread.run(SocketAcceptThread.java:1 31)

My machine:

Intel Pentium 4 3Ghz with 2Gb RAM

Windows 2003 Server

WM options:

-server

-Xmx1536m

Jive Messenger 2.2.2

With this settings only 136 users can connect to the server.

I know that number of threads that JVM can create depends on memory available (It is described in http://jroller.com/comments/rreyelts?anchor=java_performance_tuning_part_iii). So, I tryed to use smaller heap. When JVM heap size was set to 200M, server could handle about 800 users.

It is much smaller than announced on jabber.org. Could you describe how this tests where performed or publish real number of concurent users that server can support.

Best regards,

Tim

Tim,

There are two things you’'ll need to do:

  1. Increase max heap size (as you’'ve been testing with).

  2. Decrease thread stack size. Try using the value -Xss128k.

Regards,

Matt

Hello,

Test resuts was reproduced on 64-bit edition Windows 2003 Server.

About your comments: It seems, that windows JRE 5.0 can’'t set thread stack size smaller that 1M.

And one more notice. I’‘ve found /PAE (Physical Address Extension, http://www.microsoft.com/whdc/system/platform/server/pae/default.mspx) boot option for windows 2k/2003. It allows process to address up to 32Gb of memory. I’'ll test it tommorow and write the result.

Thank you for your answer,

Tim

I tested /PAE option. Server behaviour was the same. It looks like, we need special JVM to support this feature.

Matt,

do you know when is Jive Messenger 2.3 release planned? When is Jive Messenger will be upgraded to support NIO?

Thanks,

Tim

Hello.

Hello,

Test resuts was reproduced on 64-bit edition Windows

2003 Server.

About your comments: It seems, that windows JRE 5.0

can’'t set thread stack size smaller that 1M.

Have you tryied on a Linux?

You’'ll see that you can customize Java an SO much better.

I have, on an PIII 866 with 384 MB RAM, 800 concurrent users running just fine so far on my enviroment (on a Slackware 10.1, using MySQL)

best regards,

Rodrigo.