Распределенное клиентское нагрузочное тестирование Tsung - простые HTTP-запросы - PullRequest
2 голосов
/ 23 марта 2012

Я пытаюсь создать распределенную клиентскую сеть, используя Tsung. У меня кластер из 14 разных машин. Я хочу использовать m01 в качестве сервера, а машины m02 и m03 в качестве клиентов (или имитируемых пользователей).

Вот что я написал:

<!-- Client side setup -->
<clients>
    <client host="localhost" maxusers="400" cpu="1"><ip value="192.168.1.2"/></client>
    <client host="m03" maxusers="400" cpu="1"><ip value="192.168.1.3"/></client>
</clients>

Сервер, на который я нацеливаюсь, определен здесь:

<!-- Server side setup -->
<servers>
    <server host="192.168.1.1" port="5000" type="tcp"></server>
</servers>

Всякий раз, когда я пытаюсь запустить это, я получаю следующую ошибку:

Host key verification failed.

Для заметок, m02 - это локальный хост, на котором я запускаю tsung.

Я установил tsung и erlan на все машины и провел различные тесты, чтобы убедиться, что я могу запускать нераспределенные тесты.

Я не уверен, как отсюда двигаться.

Ответы [ 5 ]

3 голосов
/ 23 марта 2012

Тестирование распределенной нагрузки Tsung основано на распределении оболочки SSH. Убедитесь, что вы настроили свою систему SSH, так что вы можете использовать ssh без запроса пароля (с ключом) от главного устройства ко всем подчиненным узлам.

Из документации Цунга:

для распределенных тестов вам необходим доступ ssh к удаленным машинам без пароля (используйте ключ RSA / DSA без пароля или ssh-agent) (также поддерживается rsh)

2 голосов
/ 30 января 2015

Конфигурация Tsung Cluster.

Для настройки кластера Tsung необходимо иметь узлы (разные компьютеры с одинаковой операционной системой и с одинаковой версией Tsung).

Все узлы должны иметь возможность доступа к главному узлу без запроса пароля. Для этой операции вы должны сгенерировать сертификаты ssl в главном узле, а затем добавить открытый ключ во все подчиненные узлы. Следуйте приведенным ниже командам:

Создать сертификат в главном узле:

ssh-keygen -t rsa Скопируйте файлы во все узлы домашних каталогов (в нашем примере это 3 узла):

scp ./id_rsa.pub USERNAME@NODE_1_IP_ADDRESS:~
scp ./id_rsa.pub USERNAME@NODE_2_IP_ADDRESS:~  
scp ./id_rsa.pub USERNAME@NODE_3_IP_ADDRESS:~

Добавить открытый ключ во все узлы:

cat id_rsa.pub >> .ssh/authorized_keys

После успешной генерации и установки keygen на всех узлах вы должны проверить с помощью команды ssh доступ ко всем узлам. При первом входе в систему через ssh требуется либо ошибка проверки ключа хоста. пример : пожалуйста сделайте это: ssh [thesameusernamewhichisintsungtestplan] @ yournodehostname

ПРИМЕЧАНИЕ. Все / узлы / etc / hosts должны иметь учетные данные кластера и тестовых серверов.

2 голосов
/ 30 августа 2012

Вы когда-нибудь были ssh'd для машин, которые вы пытаетесь использовать с машины, на которой вы находитесь?

ubuntu@ip-10-168-221-101:~/sessions$ tsung -f project.xml -l logs/tsung.log start
Starting Tsung
"Log directory is: /home/ubuntu/sessions/logs/20120830-1008"
Host key verification failed.
Host key verification failed.
Host key verification failed.
Host key verification failed.
^C
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution
^Cubuntu@ip-10-168-221-101:~/sessions$ grep client project.xml 
  <clients>
    <client host="localhost"/>
    <client host="ip-10-161-74-53"/>
    <client host="ip-10-168-154-136"/>
    <client host="ip-10-168-15-66"/>
    <client host="ip-10-168-86-249"/>
  </clients>
  the mean inter-arrival time between new clients and the phase

ubuntu@ip-10-168-221-101:~/sessions$ ssh ip-10-161-74-53 erl
The authenticity of host 'ip-10-161-74-53 (10.161.74.53)' can't be established.
ECDSA key fingerprint is d0:92:3c:f1:56:99:c8:34:8b:0f:99:e8:10:7e:69:a6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ip-10-161-74-53,10.161.74.53' (ECDSA) to the list of known hosts.
Eshell V5.8.5  (abort with ^G)
1> ^C

ubuntu@ip-10-168-221-101:~/sessions$ for d in $(grep client project.xml | grep ip | sed 's/<client host="\([^"]\+\)"\/>/\1/'); do ssh $d cat /etc/hosts; done
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
[...]

ubuntu@ip-10-168-221-101:~/sessions$ tsung -f project.xml -l logs/tsung.log start
Starting Tsung
"Log directory is: /home/ubuntu/sessions/logs/20120830-1013"

Прибыль! "

2 голосов
/ 28 марта 2012

1 Используйте это на сервере (master), чтобы проверить, в порядке ли логин SSH без пароля:

ssh client-002 erl 

2 Если это не так, просто сделайте так, чтобы файл открытого ключа был самым новым:

ssh-copy-id your-hostname

PS: Если вы настроили свой SSH-вход без пароля OK, НЕ используйте ssh-keygen для генерации нового открытого ключа.

0 голосов
/ 26 февраля 2018

Шаги 1. Перезагрузите виртуальные машины / машины и начните новый сеанс

2. Удалите строки /home/user/.ssh/known_hosts, относящиеся к машинам m01, m02 и m03, с каждой из машин

3. Измените файлы / etc / hosts всех из них, чтобы они содержали IP-адрес и имя хоста / fqdn / краткое имя m01, m02 и m03

4. Скопируйте содержимое publickey в / home /файл пользователя / .ssh / authorized_keys и скопируйте файл закрытого ключа в папку /home/user/.ssh/.Создайте новые закрытые и открытые ключи, используя keygen, если он не создан.

5. (Важный шаг) Теперь выполните команду: "ssh m03" из m01 и m02. Важно использовать одно и то же имя (или имя хоста) в... (в вашем файле .xml), в файле / etc / hosts и во время выполнения ssh.(имя хоста, которое вы используете для ssh, будет добавлено в файл known_hosts).Аналогично, на двух других машинах.

Ссылка: http://cryolite.iteye.com/blog/378758 (просьба перевести)

"Проверка ключа хоста не удалась".ошибка больше никогда не появится :)

...