2021-05-12 14:32:11
Tsung 安裝使用初試
tsung是erlang的一個開源的一個壓力測試工具,可以測試包括HTTP, WebDAV, Mysql, PostgreSQL, LDAP, and XMPP/Jabber等伺服器。針對 HTTP 測試,Tsung 支援 HTTP 1.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: 組態檔如果有問題或者執行中間強行關閉的情況下,有時會出現進程未關閉的情況,下次執行會出錯,使用下面的命令看是否有未殺死的進程。
相關文章