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, только ОДИН не существует, и это тот, который следует за директивой -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, когда я пытаюсь выполнить slave: start, но я не получаю никаких результатов. Я сделал это, запустив:

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


person ikosuave    schedule 20.07.2012    source источник


Ответы (2)


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

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

person ikosuave    schedule 20.07.2012

Убедитесь, что проверка ключа 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) [источник] [64-бит] [smp:2:2] [асинхронные потоки:10] [hipe] [ядро-опрос :ложный]

Eshell V5.10.4 (прервать с помощью ^G) ([email protected])1> slave:start("worker1.com",bar,"-setcookie tsung").

Предупреждение: «worker1,10.0.100.225» (ECDSA) навсегда добавлен в список известных хостов. {хорошо, бар@worker1}

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

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

Удачи!

Суббу

person Subbu M    schedule 21.12.2016