I am trying to test how many concurrent user connections Openfire can handle. I have noticed a limit at4000 users. How can I handle 50000 concurrent connections or more on Openfire? What configuration should be done to handle large number of connections.
My Server Config
OS - Ubuntu Server 14.04.1 64 bit Processor - 3.00 GHz RAM - 512 MB Openfire Version - 3.9.3
For testing purpose, I am using a virtual server setup on virtualbox.
I’m testing Openfire 3.9.3 without connection manager and with no SSL either (yet). The server is a virtual machine setup on Virtualbox having 3.00GHz processor and 512MB RAM. It is a standard Openfire install with MySQL database connection with 100 maximum connections.
When testing with a load testing script from https://community.igniterealtime.org/docs/DOC-1232 [Please note I have not setup a cluster] the number of user connection increase steadily till 4000 concurrent user connections. Once 4000 users are connected, all connections begin to drop until all connections are lost and I get an error as follows:
java.net.SocketException: Too many open files at java.net.Socket.createImpl(Socket.java:460) at java.net.Socket.<init>(Socket.java:431) at java.net.Socket.<init>(Socket.java:211) at OpenfireClusterStressTest.testMultipleLogin(OpenfireClusterStressTest.java:111) at OpenfireClusterStressTest.main(OpenfireClusterStressTest.java:46)
Cannot handle more than 4000 concurrent user connections. How to increase this limit? What openfire configuration is required to achieve the same?