用tsung测试openfire 服务器性能
最近公司需要做一个有聊天功能的应用,客户讲的是很宏大,用户超多,以前搞过openfire,但没有深入的去了解,就想用它来搞,而且是用 java写的,想扩展也容易些,但在性能上一直担忧,想测试一下它的性能,就用tsung来试试 吧。
具体tsung 的安装已经介绍过,是很简单的,就不在说明。
接下来说是找到配置文件,然后运行。配置文件在下载的包里面,找到jabber_register.xml
<?xml version="1.0"?> <!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd"> <tsung loglevel="notice" dumptraffic="false" version="1.0"> <clients> <client host="localhost" use_controller_vm="true"> </client> </clients> <servers> <server host='127.0.0.1' port='5222' type='tcp'/> </servers> <!-- register 200000 users in less than 15 minutes --> <load> <arrivalphase phase="1" duration="15" unit="minute"> <users maxnumber="200000" interarrival="0.0025" unit="second"></users> </arrivalphase> </load>
<!-- 创建200000个用户,用户名为tsungXXX,密码为tsungXXX ,其中XXX为从1到userid_max递增的数值 --> <options> <option type="ts_jabber" name="global_number" value="5"></option> <option type="ts_jabber" name="userid_max" value="200000"></option> <option type="ts_jabber" name="domain" value="erlang-projects.org"></option> <option type="ts_jabber" name="username" value="tsung"></option> <option type="ts_jabber" name="passwd" value="tsung"></option> </options> <sessions> <session probability="100" name="jabber-example" type="ts_jabber"> <request> <jabber type="connect" ack="local"></jabber> </request> <request> <match do="abort" when="match">error</match> <jabber type="register" ack="local" id="new"></jabber> </request> <request> <jabber type="close" ack="local"></jabber> </request> </session> </sessions> </tsung>
其中:clients里面要添加maxusers="30000",不然创建几百个用户后就不再走了
<clients> <client host="localhost" use_controller_vm="true" maxusers ="30000"> </client> </clients>
servers对比以下,是否是你要测试的服务器的地址,我是在本机上测试,所以,不用修改。默认就是这个。
<servers> <server host='127.0.0.1' port='5222' type='tcp'/> </servers>
修改好后,保存文件为openfire_register.xml,运行命令,会自动在~/.tsung/log/目录下保存运行结果
tsung -f openfire_register.xml start
报表文件读起来很不方便,所以,现在我们就需要图表来展示出来,安装依赖环境。
sudo apt-get install perl5 gnuplot libtemplate-perl
进入生成报表的根目录,执行以下命令。
/usr/lib/tsung/bin/tsung_stats.pl
这样,报表就会以网页的形式展示出来。