下面是集群方式的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,看看是个什么情况,结果报错了。看下图
不能启动远程服务器,原因超时。这是什么原因啊。然后我就查了官方文档。文档上是这么说的。看下图:
它说可以用一个简单的命令来测试下步骤:
- erl -rsh ssh -sname foo -setcookie mycookie
- slave:start(shlab139,bar,"-setcookie mycookie").
这个时候你回车应该看到{ok,bar@shlab139}。
好吧,那我就按照它说的办。结果怎么不对呢?和预想的不一样啊。错误如下:
接着向下看。看文档的第五点。说要关闭防火墙。那我就查看了seliunx。哎呦没关闭啊。好吧那就用root关闭吧。然后再重新测试。好了。和预想的结果一样。然后我们再启动tsung。看日志
终于成功了,不容易啊,这就是我在配置过程中遇到的错误。可能你们在配置的时候会和这个错误不一样。会有其他的问题。别急慢慢来。总会有办法的。可能你出现的问题会在我的另一篇文章中解决。地址
http://my.oschina.net/jielucky/blog/168320
注意:多个node服务器的tsung和erlang版本都要一直。
我的版本是:erlang版本V5.8.5 tsung版本1.4.2