Openfire supports concurrency of about 6 kb by default. The following are the key points of optimization:
1. asynchronous Io is used at the network layer, and epoll is used in Linux.
Java. NiO,
NIO of JDK 6.0 and JDK 5.0 Update 9 supports epoll (Linux only), It will significantly improve the performance of concurrent idle connections, which is a lot of network server applications.ProgramYes.
The method for enabling is as follows:
-Djava. NiO. channels. SPI. selectorprovider = sun. NiO. Ch. epollselectorprovider
For more information about epoll, see the c10k problem.
Http://www.kegel.com/c10k.html
2. optimized the string parsing API. for high-performance servers, XML data still consumes bandwidth and resolution costs.
3. Use cache to reduce database queries. You can place a memcached server between the database and openfire. As far as I know, many large Web 2.0 websites are using this service.
4. enable multiple connection managers.
Other optimizations: TCP stack tuning, Linux Kernel Tuning, and JVM tuning.
Refer:
Http://www.olat.org/docu/install/EnablingTheInstantMessagingComponent.html#Openfire Performance Tuning (cache)
Http://www.igniterealtime.org/about/OpenfireScalability.pdf