一、安裝過程:
1.獲取tsung的源碼tsung-1.4.2.tar.gz,地址爲:http://tsung.erlang-projects.org/dist/
2.安裝依賴包
sudo apt-get install erlang erlang-src gnuplot perl libtemplate-perl
注:erlang:從源碼編譯 erlang 寫的程序 perl:report 中的圖形
3.編譯安裝
tar -zxvf tsung-1.4.2.tar.gz
cd tsung-1.4.2/
./configure
make
sudo make install
安裝完成之後會自動在系統 path 之中,可以直接輸入tsung查看即可,如果出現tsung start/stop/debug/status的信息則安裝成功。
二、建立壓力測試配置文件
默認的配置文件存在於 ~/.tsung/tsung.xml 中,但我們安裝後會發現這個目錄和文件並不存在,那就要手動來創建這個目錄,操作如下:
mkdir ~/.tsung
cp /usr/share/doc/tsung/examples/jabber_register.xml ~/.tsung/tsung.xml
打開tsung.xml進行修改
vim tsung.xml
對要進行壓力測試的openfire服務器信息(IP(域名)和端口)進行修改,如:
<servers>
<server host='xx.xx.xx.xx' port='5222' type='tcp'/> //修改成自己的IP地址
</servers>
通過<users maxnumber…>來設置要註冊的最大用戶數即可
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<servers>
<server host='xx.xx.xx.xx' 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>
三、啓動Tsung
用tsung start運行之後,在openfire的界面上看到正在不斷增加用戶
四、生成報表
//進入日誌目錄
cd ~/.tsung/log/20130502-1608
//運行腳本生成報表文件
/usr/lib/tsung/bin/tsung_stats.pl
五、查看生成的報表
//建立符號鏈接
cd /var/www
ln -s ~/.tsung/log/ tsungreport
六、測試http://localhost:81/tsungreport/report.html來訪問報表
遇到的問題:
在查看openfire頁面時發現正在不斷的創建用戶,但是創建了1000個左右的用戶就結束了,但是我的目標是要創建200000個用戶,解決方法如下:
(1)先修改系統的最大數限制
在/etc/security/limits.conf 最後增加:
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
(2)在配置文件中配置一個重要的參數maxusers
<clients>
<client host="localhost" use_controller_vm="true" maxusers="60000">
</client>
</clients>
最後的配置文件如下 :
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<span style="color: #ff0000;"><clients>
<client host="localhost" use_controller_vm="true" maxusers="60000">
</client>
</clients></span>
<span style="color: #ff0000;"><servers>
<server host='xx.xx.xx.xx' port='5222' type='tcp'/>
</servers></span>
<!-- register 200000 users in less than 15 minutes -->
<load>
<arrivalphase phase="1" duration="15" unit="minute">
<span style="color: #ff0000;"><users maxnumber="200000" interarrival="0.0025" unit="second"></users></span>
</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>
本人只是爲了做個記錄,方便以後學習,原始地址:http://hyjiang1989.iteye.com/blog/1860882