openfire 3.7 压力测试一(注册)
硬件配置:CPU E5620? @ 2.40GHz X2(16核),内存 32G
操作系统:?release?5.4(64bit,内核2.6.18)
机器上安装有一vm,vm运行openfire数据库,对性能会有一定影响。
openfire 运行参数:openfire -Xms16g -Xmx16g -Xmn8g -XX:=512m -XX:=512m
测试机配置
PC机 2.2G双核,1.5G可用内存
测试机与服务器间为100M网络,测试机6个线程(受测试机条件影响,但已能较大程度模拟并发)同时不间断共创建60万用户。
模拟大并发同时注册为openfire用户,监控服务器瓶颈。
测试开始前,服务器使用IBM基于GPL的unix/linux资源监控软件nmon。
从图示可以看到,整个测试过程,CPU的压力无明显变化,用户注册请求对openfire压力非常小,仅占到1%-2%,最大约6%,但持续时间非常短。?
上图为整个测试过程CPU使用情况,也能很明显看到用户占用较小,有点奇怪压力居然集中在一个核上。?
上图为测试过程磁盘读写IO情况,因为服务器上装有虚拟机以运行数据库,测过过程可能会存在一些影响。整体来看,与平时未进行压力测试波动不大。且测试过程nmon需要写日志,openfire也需要写日志,会影响测试结果。?
磁盘写偶尔有波动,大部分时间是正常波动。?
测试过程内存也无明显波动,主要原因是openfire运行在jvm中,该监控工具无法监控到jvm内存变化情况。
openfire服务器已连续运行6天多,测试后的gc日志:
测试过程服务器资源概况:?
比较明显看出CPU比较正常,IO会有些跳跃,但总体也不是瓶颈。通过整个测试过程来看,高并发的用户注册请求对openfire系统压力影响不大。
1、操作系统最大打开文件数的问题,默认才1024,修改为100000(实际本次测试用不到)