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,看看是个什么情况,结果报错了。看下图
TSung测试XMPP协议 集群配置_第1张图片

不能启动远程服务器,原因超时。这是什么原因啊。然后我就查了官方文档。文档上是这么说的。看下图:
TSung测试XMPP协议 集群配置_第2张图片

它说可以用一个简单的命令来测试下步骤:


  1. erl -rsh ssh -sname foo -setcookie mycookie
  2. slave:start(shlab139,bar,"-setcookie mycookie").
    这个时候你回车应该看到{ok,bar@shlab139}

好吧,那我就按照它说的办。结果怎么不对呢?和预想的不一样啊。错误如下:

接着向下看。看文档的第五点。说要关闭防火墙。那我就查看了seliunx。哎呦没关闭啊。好吧那就用root关闭吧。然后再重新测试。好了。和预想的结果一样。然后我们再启动tsung。看日志
TSung测试XMPP协议 集群配置_第3张图片
终于成功了,不容易啊,这就是我在配置过程中遇到的错误。可能你们在配置的时候会和这个错误不一样。会有其他的问题。别急慢慢来。总会有办法的。可能你出现的问题会在我的另一篇文章中解决。地址
http://my.oschina.net/jielucky/blog/168320
注意:多个node服务器的tsung和erlang版本都要一直。
我的版本是:erlang版本V5.8.5    tsung版本1.4.2


你可能感兴趣的:(集群,XMPP,tsung,XMPP测试)