TSung測試XMPP協議 集羣配置

        有的時候一臺tsung機器壓力過小,須要用到多臺tsung機器來一塊兒壓力測試。這個時候就須要在多臺服務器上面安裝tsung和啓動tsung已經tsung.xml文件。若是機器少還能夠,沒什麼問題。那若是機器過多。可就是個麻煩了。好在tsung給咱們提供了集羣。能夠在一臺機器上面管理全部的node節點。tsung.xml配置文件也就只有一個。
   下面是集羣方式的tsung.xml文件。注意看clients節點的配置。
<?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="100" >  <!-- cpu="3":表示啓動3個erlang虛擬來壓。須要和use_controller_vm='false'或者默認不寫 來用-->
            <ip value="10.1.7.135"></ip>   
	  </client>   
	  <client host="shlab139"  use_controller_vm="true" maxusers="90" >   
		  <ip value="10.1.7.139"></ip>   
	  </client>   
	</clients> 

	<servers>
		<server host='10.1.7.139' port='5222' type='tcp' />
	</servers>

	<!-- register 200000 users in less than 15 minutes -->
	<load>
		<arrivalphase phase="1" duration="15" unit="minute">
			<users maxnumber="190" 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="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="30000"></thinktime>
			<!-- 關閉 -->

			<request>
				<jabber type="close" ack="no_ack"></jabber>
			</request>

		</session>
	</sessions>

</tsung>

      這裏配置了多個client。用這一個配置文件就能夠管理全部的node節點。可是這樣配置管理的前提是幾臺機器都必須能夠無密碼登陸。具體的配置請參考個人另外一篇文章: http://my.oschina.net/jielucky/blog/167432 。
      而後咱們再啓動tsung,看看是個什麼狀況,結果報錯了。看下圖
node

不能啓動遠程服務器,緣由超時。這是什麼緣由啊。而後我就查了官方文檔。文檔上是這麼說的。看下圖:
服務器

它說能夠用一個簡單的命令來測試下步驟:
cookie


  1. erl -rsh ssh -sname foo -setcookie mycookie
  2. slave:start(shlab139,bar,"-setcookie mycookie").
    這個時候你回車應該看到{ok,bar@shlab139}

好吧,那我就按照它說的辦。結果怎麼不對呢?和預想的不同啊。錯誤以下:
session

接着向下看。看文檔的第五點。說要關閉防火牆。那我就查看了seliunx。哎呦沒關閉啊。好吧那就用root關閉吧。而後再從新測試。好了。和預想的結果同樣。而後咱們再啓動tsung。看日誌

終於成功了,不容易啊,這就是我在配置過程當中遇到的錯誤。可能大家在配置的時候會和這個錯誤不同。會有其餘的問題。別急慢慢來。總會有辦法的。可能你出現的問題會在個人另外一篇文章中解決。地址
http://my.oschina.net/jielucky/blog/168320
注意:多個node服務器的tsung和erlang版本都要一直。
個人版本是:erlang版本V5.8.5    tsung版本1.4.2
less

相關文章
相關標籤/搜索