提高 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.olat.org/docu/install/EnablingTheInstantMessagingComponent.html#Openfire Performance Tuning (cache)

http://www.igniterealtime.org/about/OpenfireScalability.pdf

你可能感兴趣的:(openfire,性能优化)