提高 openfire性能的几个点
openfire 默认也就支持6k左右的并发,下面为优化的几个关键点
1. 网络层采用异步 IO
linux下面用epoll.java.nio, JDK 6.0 以及JDK 5.0 update 9 的 nio支持epoll (仅限 Linux 系统),对并发idle connection会有大幅度的性能提升,这就是很多网络服务器应用程序需要的。
启用的方法如下:
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider
关于epoll可以看这个链接(The C10K problem)
http://www.kegel.com/c10k.html
2. 优化字符串解析api
对于高性能服务器,xml数据还是比较消耗带宽和解析成本。
3. 用cache 减少数据库查询
可以在数据库和openfire之间放一个memcached 服务器,据我了解大型web 2.0网站 很多都在用这个东东。
4.开启多个 connection manager.
其他 优化点 : tcp stack tuning,linux kernel tuning,jvm tuning.
参考:
http://www.igniterealtime.org/about/OpenfireScalability.pdf
转自http://blog.csdn.net/blade2001/article/details/9094361