红联Linux门户
Linux帮助

Tsung安装使用初试

发布时间:2015-03-02 21:58:04来源:linux网站作者:unqiang

tsung是erlang的一个开源的一个压力测试工具,可以测试包括HTTP, WebDAV, Mysql, PostgreSQL, LDAP, and XMPP/Jabber等服务器。针对 HTTP 测试,Tsung 支持HTTP1.0/1.1 ,包含一个代理模式的会话记录、支持 GET、POST 和 PUT 以及 DELETE 方法,支持 Cookie 和基本的WWW 认证,同时还支持 SSL。

下载参考tsung官网:http://tsung.erlang-projects.org/

Tsung必须先安装erlang

1.安装 erlang

1.sudo apt-get install erlang erlang-src gnuplot perl5

2.验证erlang是否安装成功

erl

Erlang R17B01
(erts-5.7.4)[source][64-bit][smp:2:2][rq:2][async-threads:0][hipe][kernel-pool:false]
Eshell V5.7.4(abort with ^G)

4.进入目标文件下载路径

cd /opt/apps

5.下载Tsung安装包

wget http://tsung.erlang-projects.org/dist/tsung-1.5.1.tar.gz

6.解压缩安装包

chmod 777 tsung-1.5.1.tar.gz
tar zxvf tsung-1.5.1.tar.gz

7.编译安装

cd tsung-1.5.1/
./configure tsung
make

在命令行中输入tsung - v 显示版本号为 Tsung version 1.5.1,说明安装成功了

安装过程中报错:“ build main app boot script ... make: *** [priv/tsung.boot] Error 1 ”

这是由于erlang版本过低导致的,更新下erlang版本即可。

为服务器建立配置文件

默认的配置文件存在于 ~/.tsung/tsung.xml 中,对命令行不熟悉的同学可以用ctrl+h把这个隐藏文件夹显示出来.

从示例配置中复制需要进行测试的配置 /tsung/examples/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>

<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>

修改为需要测试的服务器的地址

<servers>

<server host='127.0.0.1' port='5222' type='tcp'/>

</servers>

添加 maxusers 配置,如果不配这个参数创建用户到1000左右就不在创建了

<clients>

<client host="localhost" use_controller_vm="true" maxusers ="30000">

</client>

</clients>

这个配置的含义是,为服务器创建20000 个用户, 其中用户名为tsungXXX , 密码为 tsungXXX,  其中XXX 为1到userid_max每次步进值为1.

<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>

运行

tsung -fjabber_register.xml start

运行后,tsung会将数据保存在~/.tsung/log/目录下

ps: 配置文件如果有问题或者运行中间强行关闭的情况下,有时会出现进程未关闭的情况,下次运行会出错,使用下面的命令看是否有未杀死的进程。