XMPP、HTTP 模拟压力测试工具 Tsung 教程

时间:2022-01-07 02:12:58
一、部署安装
==============
1)安装依赖
yum -y install perl
yum -y install gnuplot
 
由于需要erlang支持,那么下载erlang-R14B04
wget http://www.erlang.org/download/otp_src_R14B04.tar.gz 
tar zxvf opt_src_R14B04.tar.gz
cd opt_src_R14B04
./configure –-prefix=/usr/local/erlang
make
make install

2)安装tsung
wget http://tsung.erlang-projects.org/dist/tsung-1.4.1.tar.gz 
tar zxvf tsung-1.4.1.tar.gz
cd tsung-1.4.1
./configure –-prefix=/usr/local/tsung –-with-erlang=/usr/local/erlang
make
make install
----
示例xml脚本。
/usr/local/tsung/share/doc/tsung/examples
程序安装到了
/usr/local/tsung/

二、配置启动
==============
1)配置XMPP登陆示例
xmppLogin.xml

[html] view plaincopyprint?
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE tsung SYSTEM "/usr/local/tsung/share/tsung/tsung-1.0.dtd">  
  3. <tsung loglevel="notice" version="1.0">  
  4.    
  5.  <!-- Clients setup -->  
  6.  <clients>  
  7.   <client host="localhost" use_controller_vm="true" maxusers="60000"></client>  
  8.  </clients>  
  9.    
  10.  <!-- Servers setup -->  
  11.  <servers>  
  12.   <server host="127.0.0.1" port="5222" type="tcp"></server>  
  13.  </servers>  
  14.    
  15.  <!-- Load User -->  
  16.  <load>  
  17.   <arrivalphase phase="1" duration="60" unit="minute">  
  18.    <users arrivalrate="50" unit="second"></users>  
  19.   </arrivalphase>  
  20.  </load>  
  21.    
  22.  <!-- Jabber parameters -->  
  23.  <options>  
  24.   <option type="ts_jabber" name="global_number" value="100"></option>  
  25.   <option type="ts_jabber" name="userid_max" value="1000000"></option>  
  26.   <option type="ts_jabber" name="domain" value="wemomo.com"></option>  
  27.   <option type="ts_jabber" name="username" value="1602"></option>  
  28.   <option type="ts_jabber" name="passwd" value="1602"></option>  
  29.  </options>  
  30.    
  31.  <!-- Session TODO -->  
  32.  <sessions>  
  33.   <session probability="100" name="jabber-example" type="ts_jabber">  
  34.    <request><jabber type="connect" ack="no_ack"></jabber></request>  
  35.    <transaction name="authenticate">  
  36.     <request><jabber type="auth_sasl" ack="local"/></request>  
  37.     <request><jabber type="auth_sasl_bind" ack="local"></jabber></request>  
  38.     <request><jabber type="auth_sasl_session" ack="local"></jabber></request>  
  39.    </transaction>  
  40.    <request><jabber type="presence:initial" ack="no_ack"/></request>  
  41.      
  42.    <thinktime value="300000"></thinktime>  
  43.   </session>  
  44.  </sessions>  
  45. </tsung>  

2)启动
./tsung -f xmppLogin.xml start

三、问题描述

==============

使用该脚本测试的时候,要禁用XMPP服务器的auth验证模块,不然账号密码不对,登陆不进去。

单个IP的端口65535的问题导致单个机器模拟的连接数有限,这个问题我没解决,只能通过使用很多机器都开这个服务来解决。

四、相关文档
==============
http://tsung.erlang-projects.org/ 
http://www.ec-os.net/misc/Tsung.html