提高 openfire性能的几个点

作者:perfectpdl 和linux相关  

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性能的几个点来源网络,如有侵权请告知,即处理!

编程Tags: