tsung ts_config_server Невозможно запустить newbeam на хосте (причина: время ожидания) Прерывание

В настоящее время я занимаюсь тестированием распределенной нагрузки на сервисах Amazon EC2 и тщательно следил за всей документацией / форумом / поддержкой о том, как заставить вещи работать, но, к сожалению, застрял на этом этапе. Никто из соответствующих IRC не смог ответить на этот вопрос...

Вот что я вижу:

Я нахожусь в точке, где я могу заставить Tsung работать отлично, если я запускаю его просто на самом контроллере, но с опциями:

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

Также - это работает с более высокими / более низкими значениями ЦП.

Я также могу очень легко заставить его работать локально, используя:

use_controller_vm="true"

но сейчас это бесполезно для меня, так как я не могу получить желаемую пропускную способность.

Чтобы все заработало, у меня установлены ключи ssh. Я открыл все порты на этих серверах [ 0 - 65535 ] и имею точно такие же версии Tsung, Erlang и, на самом деле, все на сервере одинаково (они являются изображениями друг друга).

Tsung версия 1.4.2 Erlang R15B01 Ubuntu 12.04LTS Одна и та же группа безопасности EC2 (все порты открыты - как TCP & UPD, так и НЕТ 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, только ONE не существует, и это тот, который следует директиве -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    

Последнее, что я на самом деле пробовал, это регистрировать, что происходит с моим 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

2 ответа

Убедитесь, что проверка ключа ssh отключена ~/.ssh/config Host * StrictHostKeyChecking no UserKnownHostsFile=/dev/null

Убедитесь, что все порты доступны через контроллер и рабочие узлы. Если он находится в облаке, убедитесь, что брандмауэр или группы безопасности разрешают все порты. 3.Erlang, Tsung должен иметь ту же версию.

4. Убедитесь, что все машины доступны друг другу

5. запустить тест Эрланга

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:ложный]

Eshell V5.10.4 (прервать с помощью ^G) (daya@ip-10-0-100-224.ec2.internal)1> slave:start("worker1.com",bar,"-setcookie tsung").

Предупреждение: постоянно добавлено 'worker1,10.0.100.225' (ECDSA) в список известных хостов. {ОК, бар @worker1}

Запустите этот тест от контроллера ко всем рабочим узлам.

Вы должны быть в состоянии выполнить тесты без каких-либо проблем.

Удачи!

Subbu

Я перекомпилировал, используя самую последнюю версию git, и она работала - странно, что она не работала с моим установленным пакетом deb...

Идет, чтобы показать вам - скомпилировать из источника, когда не уверены!

Другие вопросы по тегам