在上一篇轉載來的部落格(戳我打開)裡講完了Tsung的安裝以及基本的測試,接下來我們這篇就開始測試我們的Openfire伺服器了。
這裡貼出Openfire的測試腳本:需要自行儲存為.xml檔案
<?xml version="1.0" ?>
<!DOCTYPE tsung SYSTEM "/usr/local/tsung/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true" maxusers="30000" />
</clients>
<servers>
<server host='你的Openfire伺服器ip或者主機名(主機名需要修改hosts檔案)' port='5222' type='tcp' />
</servers>
<load>
<arrivalphase phase="1" duration="15" unit="minute">
<users maxnumber="20000" 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="20000"></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">
<!-- 連接配接Openfire伺服器 -->
<request>
<jabber type="connect" ack="no_ack"></jabber>
</request>
<thinktime value="2"></thinktime>
<!-- 注冊Openfire賬戶 -->
<request>
<match do="abort" when="match">error</match>
<jabber type="register" ack="local" id="new"></jabber>
</request>
<!-- 進行Openfire登入認證 -->
<transaction name="authenticate">
<request>
<jabber type="auth_get" ack="local"></jabber>
</request>
<request>
<jabber type="auth_set_plain" ack="local"></jabber>
</request>
</transaction>
<!-- 登入後保持線上狀态300秒 -->
<request>
<jabber type="presence:initial" ack="no_ack" />
</request>
<thinktime value="300"></thinktime>
<!-- 關閉 -->
<request>
<jabber type="close" ack="no_ack"></jabber>
</request>
</session>
</sessions>
</tsung>
這裡簡單說一下需要注意的問題:
===================================華麗麗的分割線====================================
1. <!DOCTYPE tsung SYSTEM "/usr/local/tsung/share/tsung/tsung-1.0.dtd">
這裡的這個.dtd檔案需要指定到你自己的tsung目錄下的dtd檔案,需要檢查一下,我的這個路徑未必适合你
2. <client host="localhost" use_controller_vm="true" maxusers="30000" />
這裡需要設定一下最大的使用者數,否則可能注冊了1000個就不會再往下繼續注冊新使用者了
3. <server host='你的Openfire伺服器ip或者主機名(主機名需要修改hosts檔案)' port='5222' type='tcp' />
這裡設定的是要測試的伺服器的ip位址、端口号以及連接配接類型,有些同學在安裝Openfire伺服器的時候沒有指定主機名,那應該會使用預設的本機位址,需要注意一下。
4. <load>
<arrivalphase phase="1" duration="15" unit="minute">
<users maxnumber="20000" interarrival="0.0025" unit="second"></users>
</arrivalphase>
</load>
這裡進行的設定是,測試時間,以及最大的數目
5. <options>
<option type="ts_jabber" name="global_number" value="5"></option>
<option type="ts_jabber" name="userid_max" value="20000"></option>
<option type="ts_jabber" name="domain" value="erlang-projects.org"></option>
<option type="ts_jabber" name="username" value="tsung_test_"></option>
<option type="ts_jabber" name="passwd" value="tsung_test_"></option>
</options>
這裡指的是,注冊使用者的一些規則,配合第四條注意事項,最終生成的使用者名是像tsung_test_1 、tsung_test_2 這樣兒的,密碼和使用者名一緻。
==================================華麗麗的分割線===================================
然後呢,儲存之後,我們可以在指令行裡輸入如下指令,進行測試:
tsung -f OpenfireRegisterAndAuthTest.xml start
然後如果沒有報錯資訊的話,會提示如下的資訊:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUhZTOXlFcoh0YsZVbhZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN1EzMxgTM2EzNxEDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
這個說明Tsung已經開始工作了,然後我們就靜靜的看着它裝逼,啊抱歉不是,是靜靜的等它完成。
完成了之後,我們可以檢視一下是否生成了我們需要的東東
OK,生成了我們需要的結果,但是這樣兒的,沒法兒看啊,對了,還記得我們在上一篇安裝教程裡使用的那個perl的腳本嘛?我們來生成一下HTML頁面:
這裡我是簡單的測試,而且測試也不是我的專業,是以我隻是把tsung指令加入了path,那麼如果是測試專業的同學們需要注意了,你可能需要把這個腳本的路徑,也加入到path中去,這樣兒後面使用起來就更加友善啦。那麼我們把生成的HTML頁面導出來,或者直接配置好HTTP伺服器,那麼就可以進行分析了。本次測試的結果大概是這麼一個樣子的:
然後你就可以好好根據測試生成的報告,進行分析了。
2015年1月17日,EricTang 記