Openfire 集群探究_压测情况
一.(测试时间:20151220 - 下午14:00-17:00)
windows环境
第一次测试,运行中发现在eclipse环境下.4w个连接耗尽了约1G的内存.
另外:服务本来可用的,压测客户端强制关闭,造成大量的session需要清理,这时候会造成拒绝服务现象,新连接无法建立..
session Close是锁住进行的?
二.(测试时间:20151223 - 晚上18:00-19:20)
linux 64位虚拟机 - 开集群(每秒15个连接)
压测5W,小卡顿,但是能用,到5.9w,突然完全卡死.无法建立新的连接
telent 127.0.0.1 5222 无反应
当通过集群查看内存正常,无高占用,GC后还不到1G.
三.(测试时间:20151223 - 晚上18:00-19:40)
linux 64位虚拟机 - 不开集群(每秒40个连接,2台tsung)
2W个连接开始堵,psi登录需要3分钟才连接上.
4w连接后,psi登录用了6分钟,每个报文送过去,回来都要1分30秒.-2分钟等个登陆流程用了15分钟
5.9w连接后,psi登录不了,同上
telent 127.0.0.1 5222 无反应
注:Linux可调整网络参数
四.(测试时间:20151224 - 8:20-11:00)
linux 64位虚拟机 - 不开集群(每秒30个连接,2台tsung)
2W个连接开始堵,psi登录需要1分钟才连接上.10点到达峰值10w连接.
此时telent 127.0.0.1 5222 连接正常.
结论:优化网络配置后,10w并发单机正常运行.
五.(测试时间:20151224 - 16:20-11:00)
windows环境 64位 - 开集群(每秒15+7个连接)
5w连接正常.1秒登录.到8w并发,出现卡顿.登录用时15秒.9w连接.使用1.2G内存(FULL GC后)
但在一台tsung不发起新连接后,接入事件又变快.cpu使用率很高,70%以上.
OpenJDK虚拟机不行.
六.(测试时间:20151224 - 18:20-21:00)
Linux环境 64位 - 开集群(每秒9+9个连接)
3w连接正常.1秒登录.10w连接.使用1.2G内存(FULL GC后)
七.(测试时间:20151225 - 8:40-12:00)
Linux环境 64位(使用oracle JDK) - 开集群(每秒20个连接)
6w连接正常.1秒登录.10w连接.使用1.2G内存(FULL GC后),cpu,内存均正常.说明用了oracle的HotSpot确实不错.
八.(测试时间:20151228 - 17:30-20:30)
Linux环境 64位(使用oracle JDK) - 开集群(每秒20个连接)
三台tsung同时测试,10w连接.使用1.2G内存,16w连接,使用2G内存.只分配3g内存,GC频率增加,出现卡顿现象.
九.(测试时间:20160117- 9:30-12:30)
inux环境 64位(使用oracle JDK) - 开集群(每秒100个连接)
1.序列化优化
2.tsung无chat交易,仅仅登陆
三台tsung同时测试,18w连接.使用1.4G内存,
十.(测试时间:20160119 - 18:00-21:30)
Linux环境 64位(使用oracle JDK) - 开集群(每秒90个连接)
启动3台服务器,均开4G内存.其中2台运行在同一台实体机器上.
启动9台tsung客户机,tsung每台分配1g内存,跑3台centos已经是极限了.内存基本吃完.如下图:
在运行1个小时50分钟后,大约有35w连接,突然出现无响应.psi也无法发出新连接请求.
十一.(测试时间:20160120 - 09:30-11:30)
1台Window环境 64位,1台Linux环境 64位(5G内存),开集群(每秒100个连接)
前面运行正常,当Linux用户数到达14w,系统卡死,全在GC,且影响另外一台设备.两台均无法正常登录.
后续策略:调整内存大小,修改hazelcast的驱逐策略.在linux上再次运行,并跟踪GC
十二.(测试时间:20160121 - 18:00-19:30)
1台Window环境 64位,1台Linux环境 64位(5G内存),开集群(每秒120个连接)
Window给5G,Linux给5G,两机用户均正常稳步增加,达到19w+.如下图:
内存使用情况,如下图:
不过Linux会出现OldGen区突然满的情况..修改为JDK1.7后也偶尔会(虚拟机的问题??).
十二.(测试时间:20160124 - 11:00-12:30)
1台Window环境 64位(16G),2台Linux环境 64位(6G内存-虚拟机),开集群(每秒125个连接)
6G内存分配5G个openfire.显然不够.运行一个半小时,linux内存满了,GC无效.
十三.(测试时间:20160124 - 18:15-20:20)
3台Linux环境 64位(8G内存-虚拟机),开集群(每秒100个连接)
内存分配6G个openfire.运行2个小时,用户达到50W(9台tsungClient,有2台只有5w连接,一台只有3w连接)
Openfire 集群探究_压测情况的更多相关文章
- Openfire集群源码分析
如果用户量增加后为了解决吞吐量问题,需要引入集群,在openfire中提供了集群的支持,另外也实现了两个集群插件:hazelcast和clustering.为了了解情况集群的工作原理,我就沿着open ...
- Openfire 集群部署和负载均衡方案
Openfire 集群部署和负载均衡方案 一. 概述 Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Hapro ...
- redis3.2.11多机多实例集群部署及测试连接情况
机器配置 redis3.2.11安装配置规划 机器 192.168.169.136(本机虚拟机1) 192.168.169.137(本机虚拟机2) 系统 Red Hat Enterprise Linu ...
- Linux Web集群架构详细(亲测可用!!!)
注意:WEB服务器和数据库需要分离,同时WEB服务器也需要编译安装MySQL. 做集群架构的重要思想就是找到主干,从主干区域向外延展. WEB服务器: apache nginx 本地做三个产品 de ...
- redis3.2.11单机多实例集群部署并测试连接情况
配置准备: redis3.2.11安装配置规划 机器 192.168.169.135(本机虚拟机) 系统 Red Hat Enterprise Linux Server release 6.4 (Sa ...
- hadoop集群安装_实战
spark1.6.2+ hadoop2.6.2 词频统计完整案例:http://blog.csdn.net/zythy/article/details/17852579 hadoop学习:http:/ ...
- bigdata_hadoop集群配置_内存分配
haoop集群 做好内存管理跟重要,不然经常会给抛出个 OutMemory ,内存溢出 以horntonworks给出推荐配置为样本,给出一种常见的Hadoop集群上各组件的内存分配方案.配置时 ...
- hadoop HA集群搭建(亲测)
1.hadoop-env.sh 2.core-site.xml <configuration> <!-- 指定hdfs的nameservice为ns1 --> <prop ...
- redis集群搭建_超详细
redis集群中至少应该有三个节点,以保证当集群中的某个节点挂掉,其他节点进行容错投票时,投票数能超过半票. 要保证高可用,则还需要每一个节点有一个备份机. 因此redis集群至少需要6台服务器.这里 ...
随机推荐
- java使用jsch连接linux
由于项目需要使用java来linux进行管理,近一番查找,发现第三方jar包 jsch 可以轻松实现对linux的管理,(相关文档及例子请访问官网www.jcraft.com),故引进. 在网上搜索了 ...
- equals标准写法
@Overridepublic boolean equals(Object obj) { //为了提高效率 if(this == obj){ return true; } //为了提供程序的健壮性 / ...
- R12_专题知识总结提炼-AR模块
应收模块简介 应收模块是用来为企业提供应收款管理的模块. 当企业销售一笔商品或者发生其他影响收入和现金的业务的时候,需要在应收模块记账. 本文档以R12为例,11i可参考,只针对简单业务情况考虑,将应 ...
- ubuntu和win7 64双系统 安装
我是thinkpad机器 主要参考到是http://www.weste.net/2012/4-29/82173.html这个地址到教程,表示感谢 这边说下安装好以后到环境设置 首先要 sudo apt ...
- 3、python,read(),readlines()和readline()
我们谈到"文本处理"时,我们通常是指处理的内容. Python 对文件对象的操作提供了三个"读"方法: .read()..readline() 和 .readl ...
- css3新属性
CSS calc()函数来制作响应式网格: calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,你可以使用calc()给元素的border.margin.pading.fo ...
- mysql计算时间差函数
MySql计算两个日期的时间差函数TIMESTAMPDIFF用法,只要用一句SQL语句就可以办到了. MySql计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDI ...
- 1-13 代理ARP和RARP
一.代理ARP(Proxy ARP) 因为路由器有阻住广播的作用,如果我们要访问一台远端的主机,那么我们封装的并不是远端的目的MAC地址,而是我们网关的MAC地址. 当我们的网关出现故障,就需要给他重 ...
- 高仿淘宝和聚美优品商城详情页实现《IT蓝豹》
高仿淘宝和聚美优品商城详情页实现 android-vertical-slide-view高仿淘宝和聚美优品商城详情页实现,在商品详情页,向上拖动时,可以加载下一页. 使用ViewDragHelper, ...
- Android菜鸟成长记13 -- 初识application
二.Application 简介 Application 类是用来维护应用程序全局状态.你可以提供自己的实现,并在 AndroidManifest.xml文件的 <application> ...