TSung測試XMPP協議--環境搭建

1.安裝erlang html

wget http://www.erlang.org/download/otp_src_R15B.tar.gz
tar zvxf otp_src_R15B.tar.gz
cd otp_src_R15B
./configure --prefix=/opt/lsmp/openfire/erlang  安裝目錄
make
make install
版本V5.8.5
linux

這個過程可能須要幾分鐘。耐心等待!!! shell

2.安裝tsung apache

wget http://tsung.erlang-projects.org/dist/tsung-1.4.2.tar.gz
tar zvxf tsung-1.4.2.tar.gz
./configure --prefix=/opt/lsmp/openfire/tsung --with-erlang=/opt/lsmp/openfire/erlang 安裝目錄
make
make install
版本1.4.2
瀏覽器

安裝後,終端輸入tsung -v,可顯示版本號。若是報錯命令找不到。則須要配置環境變量。看下面代碼
  
session

PATH=$JAVA_HOME/bin:/opt/lsmp/openfire/tsung/bin:$PATH


3.安裝perl的Template less

wget http://cpan.org/modules/by-module/Template/Template-Toolkit-2.24.tar.gz
tar zvxf Template-Toolkit-2.24.tar.gz
perl Makefile.PL
make
make test
sudo make install
版本2.24
dom

3.安裝perl的gnuplot tcp

wget http://superb-dca2.dl.sourceforge.net/project/gnuplot/gnuplot/4.0.0/gnuplot-4.0.0.tar.gz
tar zvxf gnuplot-4.0.0.tar.gz
./configure --prefix=/opt/lsmp/openfire/gnuplot  安裝目錄
make 
make install
版本4.0.0<比較老>
工具

到目前爲止。tsung就能夠工做了。

到用戶home目錄新建 .tsung 目錄並新建tsung.xml文件默認讀取當前用戶home目錄下.tsung下面的tsung.xml文件。也能夠本身指定目錄和文件。執行日誌也在home目錄下的.tsung/log 也能夠啓動指定,須要加參數 -l 啓動時加參數 tsung -f /opt/xxx/mytsung.xml -l/opt/xxx/tsung/log start 此文件就是測試所須要的文件。

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/opt/lsmp/openfire/tsung/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
	<clients>
		<client host="shlab135" use_controller_vm="true" maxusers="20000" />
	</clients>
	<servers>
		<server host='101.1.71.15' port='5222' type='tcp' />
	</servers>

	<!-- register 200000 users in less than 15 minutes -->
	<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">
			<!-- 鏈接 -->
			<request>
				<jabber type="connect" ack="no_ack"></jabber>
			</request>
			<thinktime value="2"></thinktime>
			<!-- 註冊 -->
			<request>
				<match do="abort" when="match">error</match>
				<jabber type="register" ack="local" id="new"></jabber>
			</request>
			<!-- 認證 -->
			<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. <client host="shlab137"  必須是系統的名字不是ip。 linux系統能夠用hostname 來查詢。
  2. <server host='101.1.71.15' 是openfire的ip或者是Connection Manager的ip。
  3. <users maxnumber="20000" 測試最大的用戶數
  4. <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>
    這是註冊用戶名的一些規則。

   ok.到如今爲止一切都已經按照完畢。如今開始測試吧。
運行tsung start 結果報錯,悲劇了。看看錯誤提示。
tsung Host key verification failed. 這個錯誤。主機密鑰驗證失敗。那咱們看看/etc/hosts文件下面的配置吧。

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.1.7.135  localhost shlab135 localhost.localdomain localhost6 localhost6.localdomain6

10.1.7.4   shlab04
10.1.1.20 configserver
還記得咱們tsung.xml文件裏面配置的主機名稱嗎?  shlab135 。按照上面的配置tsung解析不到註解的名稱。則須要修改這個文件。看下面的代碼。
10.1.7.135 shlab135
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#10.1.7.135  localhost shlab135 localhost.localdomain localhost6 localhost6.localdomain6

10.1.7.4   shlab04
10.1.1.20 configserver
這樣就能夠了。而後咱們運行下 tsung start 看下圖結果:

 

表示正在測試。測試結果在log下面的20131009-1415文件夾下面。看下openfire 控制檯。是否有測試的用戶呢?

     好,那咱們如今查看tsung生成的測試報告。須要用到tsung_stats.pl 。這個時候咱們安裝好了以後tsung_stats.pl 這個文件尚未在安裝目錄下。須要本身cp到安裝目錄下。
先找到這個文件的路徑。find ./ -name "tsung_stats.pl" 而後到這個目錄下面去。執行cp  : cp -r tsung_stats.pl /opt/lsmp/openfire/tsung/bin   就行了。
而後到當前用戶的home目錄下的.tsung\log下面。找到當前測試的文件目錄。執行tsung_stats.pl 便可。看下圖是

而後經過ftp工具把這個目錄給拖下來或者安裝apache服務都行。用瀏覽器打開report.html就能夠經過圖形化界面看到咱們當前的測試報告了。

若是要經過tsung集羣來測試。具體的配置請參考個人另外一篇文章:http://my.oschina.net/jielucky/blog/167945

相關文章
相關標籤/搜索