Tsung ts_config_server 无法在主机上启动 newbeam(原因:超时)中止



我目前正在对亚马逊的EC2服务进行分布式负载测试,并认真遵循了所有关于如何使事情正常工作的文档/论坛/支持,但不幸的是,我发现自己陷入了困境。在任何相关的IRC中都没有人能够回答这个问题。。。

以下是我所看到的:

如果我只是在控制器上运行Tsung,我就可以让它工作得很好,但有选项:

FROM tsung.xml
 <client host="tester0" weight="8" maxusers="10000" cpu="4"/>

此外,它适用于更高/更低的CPU值。

我也可以很容易地让它在本地工作使用:

use_controller_vm="true"

但这对我现在没有用,因为我无法获得我想要的吞吐量。

为了让事情正常工作,我安装了ssh密钥。我已经打开了这些服务器上的所有端口[0-65535],拥有完全相同版本的Tsung、Erlang,而且,实际上,服务器上的一切都是一样的(它们是彼此的映像)。

Tsung版本1.4.2Erlang R15B01Ubuntu 12.04LTS相同的EC2安全组(所有端口都打开-TCP和UPD以及NO iptables或SELinux)相同的EC2可用区域

当我启动tsung时,我只将上面的内容发送到tester0,ts_config_server用启动newbeam时,它就可以工作了

ts_config_server:(6:<0.84.0>) starting newbeam on host tester0 with Args " -rsh ssh -detached -setcookie  tsung   -smp disable    +A 16 +P 250000  -kernel inet_dist_listen_min 64000  -kernel inet_dist_listen_max 65500  -boot /usr/lib/erlang//lib/tsung-1.4.2/priv/tsung -boot_var TSUNGPATH /usr/lib/erlang/ -pa /usr/lib/erlang//lib/tsung-1.4.2/ebin -pa /usr/lib/erlang//lib/tsung_controller-1.4.2/ebin +K true  -tsung debug_level 7 -tsung log_file ts_encoded_47home_47ubuntu_47_46tsung_47log_4720120719_451751"

然而,每当我尝试在任何远程服务器上运行此程序时,整个测试都会失败,并且我得到的用户为零:

<client host="tester1" weight="8" maxusers="10000" cpu="1"/>
ts_config_server:(6:<0.84.0>) starting newbeam on host tester1 with Args " -rsh ssh -detached -setcookie  tsung   -smp disable    +A 16 +P 250000  -kernel inet_dist_listen_min 64000  -kernel inet_dist_listen_max 65500  -boot /usr/lib/erlang//lib/tsung-1.4.2/priv/tsung -boot_var TSUNGPATH /usr/lib/erlang/ -pa /usr/lib/erlang//lib/tsung-1.4.2/ebin -pa /usr/lib/erlang//lib/tsung_controller-1.4.2/ebin +K true  -tsung debug_level 7 -tsung log_file ts_encoded_47home_47ubuntu_47_46tsung_47log_4720120719_451924"

然而,当我尝试用两个客户端运行它时(即,如下所示):

<client host="tester0" weight="8" maxusers="10000" cpu="1"/>
<client host="tester1" weight="8" maxusers="10000" cpu="1"/>

我再次让零用户开始访问我的网络服务器。我不知道为什么,这对我来说一点也不直观。

ts_config_server:(6:<0.84.0>) starting newbeam on host tester1 with Args " -rsh ssh -detached -setcookie  tsung   -smp disable    +A 16 +P 250000  -kernel inet_dist_listen_min 64000  -kernel inet_dist_listen_max 65500  -boot /usr/lib/erlang//lib/tsung-1.4.2/priv/tsung -boot_var TSUNGPATH /usr/lib/erlang/ -pa /usr/lib/erlang//lib/tsung-1.4.2/ebin -pa /usr/lib/erlang//lib/tsung_controller-1.4.2/ebin +K true  -tsung debug_level 7 -tsung log_file ts_encoded_47home_47ubuntu_47_46tsung_47log_4720120719_451751"
ts_config_server:(6:<0.85.0>) starting newbeam on host tester0 with Args " -rsh ssh -detached -setcookie  tsung   -smp disable    +A 16 +P 250000  -kernel inet_dist_listen_min 64000  -kernel inet_dist_listen_max 65500  -boot /usr/lib/erlang//lib/tsung-1.4.2/priv/tsung -boot_var TSUNGPATH /usr/lib/erlang/ -pa /usr/lib/erlang//lib/tsung-1.4.2/ebin -pa /usr/lib/erlang//lib/tsung_controller-1.4.2/ebin +K true  -tsung debug_level 7 -tsung log_file ts_encoded_47home_47ubuntu_47_46tsung_47log_4720120719_451751"

我注意到的一件事是,在传递给slave:start的所有args中,只有一个不存在,那就是遵循-boot指令的那个:

/usr/lib/erlang//lib/tsung-1.4.2/priv/tsung

相反,在该目录中,我只有以下文件:

:~$ ls /usr/lib/erlang//lib/tsung-1.4.2/priv
tsung.boot                    tsung_controller.rel     tsung_recorder.boot         tsung_recorder.script
tsung_controller.boot         tsung_controller.script  tsung_recorder_load.boot    tsung.rel
tsung_controller_load.boot    tsung_load.boot          tsung_recorder_load.script  tsung.script
tsung_controller_load.script  tsung_load.script        tsung_recorder.rel    

我实际尝试的最后一件事是,当我尝试slave:start时,记录ssh会话发生了什么,但没有得到任何结果。我通过运行来做到这一点

erl -rsh ssh -sname tsung -r ssh_log_me 

其中ssh_log_me是:

#!/bin/sh
echo "$0" "$@" > /tmp/my-ssh.log
ssh -v "$@"  2>&1 | tee -a /tmp/my-ssh.log

但当我运行时没有输出:

(tsung@tester0)1> slave:start_link(tester1, tsung, " -rsh ssh -detached -setcookie  tsung   -smp disable    +A 16 +P 250000  -kernel inet_dist_listen_min 64000  -kernel inet_dist_listen_max 65500  -boot /usr/lib/erlang//lib/tsung-1.4.2/priv/tsung -boot_var TSUNGPATH /usr/lib/erlang/ -pa /usr/lib/erlang//lib/tsung-1.4.2/ebin -pa /usr/lib/erlang//lib/tsung_controller-1.4.2/ebin +K true  -tsung debug_level 7 -tsung log_file ts_encoded_47home_47ubuntu_47_46tsung_47log_4720120719_451751").
{error,timeout}

我已经查看了erlang的-boot指令和实际的erlang代码(对于ts_config_server),但在这一点上我有点迷失了方向,可能只是缺少了最后一条信息。

我请求您在这里查看我的xml文件:http://pastebin.com/2MEbL6gd

我使用git的最新版本重新编译,它起作用了——奇怪的是,它不适用于我安装的deb包。。。

当不确定时,将向您展示-从源代码编译!

确保禁用ssh密钥验证~/.ssh/config主机*StrictHostKeyChecking no UserKnownHostsFile=/dev/null

确保所有端口都可以跨控制器和工作节点访问。如果它在云中,请确保防火墙或安全组允许所有端口。3.二郎,宗必须有相同的版本。

4.确保所有机器都可以相互访问

5.运行erlang测试

erl-rsh ssh-name subbu-setcookie tsung Erlang R16B03-1(erts-5.10.4)[source][64 bit][smp:2:2][async threads:10][hipe][kernel poll:false]

Eshell V5.10.4(使用^G中止)(daya@ip-10-0-100-224.ec2.internal)1> slave:启动("worker1.com",bar,"-setcookietsung")。

警告:已将"worker1,10.0.100.225"(ECDSA)永久添加到已知主机列表中。{ok,bar@worker1}

从控制器到所有工作节点运行此测试。

您应该能够在没有任何问题的情况下运行测试。

祝你好运!

Subbu

相关内容

  • 没有找到相关文章

最新更新