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)
Intel Pentium 4 3Ghz with 2Gb RAM
Windows 2003 Server
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.