今天研究了一下如何使用Tsung对ejabberd服务器进行压力测试,看了N篇文章以后,总结一下在Ubuntu下的安装详细步骤。
1、下载Tsung源代码:
从Tsung的官方网站下载源代码(),目前最新的是tsung-1.4.1.tar.gz,不要下载为Ubuntu封装好的deb,因为下面还要更改一处源代码才可以通过ejabberd服务器的身份验证。
2、安装Tsung的依赖组件:
1、Erlang及相关组件(必装) :sudo apt-get install erlang erlang-nox erlang-dev erlang-parsetools
2、gnuplot、perl5及template模板(如果需要生成报表的话): sudo apt-get install perl5 gnuplot libtemplate-perl
3、由于Tsung在发送stream节的时候,附带了version=’1.0’属性,导致ejabberd无法识别,所以需要更改tsung_jabber_common.erl的这行代码,
xmlns=’jabber:client’ version=’1.0′ xmlns:stream=’http://etherx.jabber.org/streams’>"改为xmlns=’jabber:client’ xmlns:stream=’http://etherx.jabber.org/streams’>"
4、编译Tsung
./configure
make
sudo sudomake install
5、编写tsung.xml配置文件
~/.tsung/tsung.xml为tsung默认的配置文件,在/usr/share/doc/tsung/examples/中有一些示例文件,可以参考jabber.xml文件来编写自己的tsung.xml,下面是一段测试ejabberd服务器登录的测试脚本
<?xml version="1.0"?><!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd"><tsung loglevel="notice" version="1.0"> <clients><client host="localhost" use_controller_vm="true"></client> </clients> <!– Server side setup –> <servers><server host="127.0.0.1" port="5222" type="tcp"></server> </servers> <load><arrivalphase phase="1" duration="1" unit="minute"><users interarrival="2" unit="second"></users></arrivalphase> </load> <!– JABBER parameters –> <!– to synchronise users, use a global acknoledgement –> <options><option type="ts_jabber" name="global_number" value="100"></option><option type="ts_jabber" name="userid_max" value="10000"></option><option type="ts_jabber" name="domain" value="mydomain.org"></option><option type="ts_jabber" name="username" value="user"></option><option type="ts_jabber" name="passwd" value="pass"></option> </options> <sessions><session probability="100" name="jabber-example" type="ts_jabber"><request><jabber type="connect" ack="no_ack"></jabber></request><thinktime value="2"></thinktime><transaction name="authenticate"><request><jabber type="auth_get" ack="local"></jabber></request><request><jabber type="auth_set_plain" ack="local"></jabber></request></transaction><transaction name="close"><request><jabber type="close" ack="no_ack"></jabber></request></transaction></session> </sessions></tsung>
6、运行Tsung
tsung start 或者 tsung -f myconfig.xml start
运行后,tsung会将数据保存在~/.tsung/log/目录下
7、生成报表
tsung运行完成后,进入~/.tsung/log/***/目录,然后运行 /usr/lib/tsung/bin/tsung_stats.pl,,会生成html报表页面。
如果说对云南有进一步的了解的话就是鲜花。