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...
Идет, чтобы показать вам - скомпилировать из источника, когда не уверены!