tsung测试openfire

很多人一直诟病openfire的并发能力, 由于项目中需要用到, 所以决定对openfire进行压力测试。首选的工具当然是大名鼎鼎的tsung。


Tsung是采用Erlang语音开发的一个开源的支持多种协议的分布式的负载测试工具,他能被用来对HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP 服务器进行压力测试。 Tsung能分布在多台客户机上模拟成千上万的(如果硬件足够多,甚至可以模拟上百万的)并发用户。


1、Tsung安装

  • 安装环境:(lsb_release -a

LSB Version::base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:CentOS
Description: CentOS release 6.8 (Final)
Release: 6.8
Codename: Final


  • 首先安装以下工具:

yum install gcc -y 

yum install perl -y

yum install unixODBC 

yum install unixODBC-devel

yum install -y ncurses-devel (如果不安装,下面安装erlang时会出现 "configure: error: No curses library functionsfound "错误


  • 下载并安装erlang
           下载otp_src_18.3.tar.gz
#tar -xvf otp_src_18.3.tar.gz
# cd otp_src_18.3
# ./configure --prefix=/usr/local/erlang
# make
# make install

  • 下载并安装Tsung
下载tsung-1.6.0.tar.gz
# tar -zxvf tsung-1.6.0.tar.gz
#cd tsung-1.6.0
#./configure --prefix=/usr/local/tsung --with-erlang=/usr/local/erlang
# make
# make install

  • 下载并安装perl Template,用于生成报告模版
# wget http://cpan.org/modules/by-module/Template/Template-Toolkit-2.24.tar.gz
# tar -zxvf Template-Toolkit-2.24.tar.gz
# cd Template-Toolkit-2.24
# perl Makefile.PL
# make
# make test
# make install

  • 下载并安装gnuplot,用于聊天生成
# yum install -y gnuplot gd libpng zlib

注意:安装成后添加erlang、tsung环境变量

# vim /etc/profile 
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/erlang/bin:/usr/local/tsung/bin(修改自己实际变量)

# source /etc/profile 
测试:
# tsung -v 
# erl -v


2、Tsung的使用

在另外一台相同配置的机器上安装openfire4.0.2, 安装过程略。

默认情况下,linux最大文件句柄数为1024个。当你的服务器在大并发达到极限时,就会报出“too many open files”。

在这两台机器上修改 最大文件句柄数。 修改方法有两种:

方法一:ulimit -n 65535 (这种方法只针对当前进程有效。重新打开一个shell或者开启一个进程,你就会发现参数还是ulimit -n xx修改之前的数字。那么有没有一劳永逸的方法呢?

当然有!那就是修改系统参数。)

方法二: 修改linux系统参数。vi /etc/security/limits.conf 添加

*  soft  nofile  65536

*  hard  nofile  65536

修改以后保存,注销当前用户,重新登录,执行ulimit -a ,ok ,参数生效了。


  • cp  /usr/local/tsung/share/doc/tsung/examples/jabber_register.xml  /usr/local/tsung
  • cp  /usr/local/tsung/share/doc/tsung/examples/jabber.xml  /usr/local/tsung
  • 修改jabber_register.xml 和 jabber.xml(具体内容看附件中文件)
  • 注册用户:

# ./tsung –f  /usr/local/tsung/jabber_register.xml start

  • 利用jabber.xml模拟用户登录openfire后执行上线、离开、忙碌、下线、发送消息等操作

# ./tsung –f  /usr/local/tsung/jabber.xml start



  • 生成report

等待测试完毕,进入log目录(只有输出了log日志才会自动log目录,默认路径:/root/.tsung/log)

#cd/root/.tsung/log/20120329-2234(路径也可以这样写:~/.tsung/log/)

#/usr/local/tsung/lib/tsung/bin/tsung_stats.pl (生成统计图表)


结论: 我的机器是cpu 4核 , 内存8G。 给openfire分配的内存为默认的1.8G内存。 用户同时在线数为4w多。





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yongche_shi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值