XMPP服务器的性能分析和优化
常用的的XMPP服务器:
1.openfire:底层通讯采用的mina框架,minak框架其实性能一般,netty早已经超越它,虽然最初都是Doug Lea写的。3.4版本之后支持集群,单台服务器测试最大支持30万用户并发,服务器配置(服务器是Dell R710, 64G内存 16核CPU,15000转硬盘),缺点是大规模并发时集群效果不是很好。
性能优化学习:http://blog.csdn.net/smm11230704/article/details/7468010
2.tigase:
1)底层通讯是自己写的一个NIO通讯框架, 最高并发连接可达到单机50w,支持集群(可以根据需要进行水平扩展),个人感觉这个比较靠谱。
部署学习:http://xiao9.iteye.com/blog/1488070
2).Tsung负载测试Tigase:http://linyu19872008.iteye.com/blog/1605707
3)典型案例:Zoosk,是一个具有5000万会员的浪漫的社交约会网站
4)详解Zoosk千万用户实时通信背后的开源技术:
http://www.csdn.net/article/2012-09-10/2809790-zoosk-the-engineering-behind-real-time
5)缺点:集群方式复杂--但是tigase 作者维护很活跃,集群测试结果能够支撑比较大的容量,这是吸引人的地方。但经过实际生产运营情况来看,由于其集群方案实现的复杂性,以及单节点容量的有限,对支撑到 50 万用户在集群节点上可能没有信心,所以在到达 50 万用户之前,自己要准备替代方案。
6)扩展:可以创建一些自定义的扩展,来处理特定的业务逻辑。
7)tigase官方网站吸引人的地方:http://www.tigase.org/
Cluster with over 1mln online users.-- 集群支持一亿个用户在并发
500k online users on a single machine.--50万个用户并发单机
Great at XMPP service sharding.
Running happily with 10MB of RAM.
Long list of supported features.
Scripting support for all major languages.
All tests results are publicly available.
Very flexible and extensible API.
Monitoring via HTTP, SNMP, JMX, XMPP.