Распределенная установка Jmeter работает в графическом интерфейсе, но не в командной строке - PullRequest
0 голосов
/ 24 мая 2018

Я использую Windows 7 Pro с JMeter 4.0 r1823414 на всех 5 машинах с Java JDK 1.8.0_144 на всех из них.Все пути и переменные ENV одинаковы для всех машин.Я установил свои удаленные хосты в мастере, и я могу видеть их в графическом интерфейсе внутри мастера.Я собрал rmi_keystore.jks на подчиненном компьютере и скопировал его в папку bin на каждом компьютере.Я успешно запустил все серверы на ведомых машинах и вижу успешное вложение rmi (с запущенным jmeter-server.bat):

Found ApacheJMeter_core.jar
Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
Picked up _JAVA_OPTIONS: -Xbootclasspath/a:"C:\Program Files 
(x86)\HP\Unified Functional Testing\bin\java_shared\classes\jasmine.jar"
Created remote object: UnicastServerRef2 [liveRef: [endpoint: 
[<ip:port>,SSLRMIServerSocketFactory(host=<host_name/IP>, 
keyStoreLocation=rmi_keystore.jks, type=JKS, 
trustStoreLocation=rmi_keystore.jks, type=JKS, alias=rmi),
SSLRMIClientSocketFactory(keyStoreLocation=rmi_keystore.jks, type=JKS, 
trustStoreLocation=rmi_keystore.jks, type=JKS, alias=rmi)](local),objID: 
[<stuff>:-7fff, <more_stuff>]]]

Выполнение основного HTTP-вызова, который я могу запустить с мастерана все 4 подчиненных компьютера (по отдельности и все сразу) и получить результаты без проблем из графического интерфейса.Моя проблема из командной строки.Я не могу запустить тест.Я пробовал:

jmeter -n -t distributed_test_4_slaves.jmx -r -l distributedLog_Test.jtl -Jserver.rmi.ssl.keystore.file=rmi_keystore.jks

jmeter -n -t distributed_test_4_slaves.jmx -r -l distributedLog_Test.jtl

jmeter -n -t distributed_test_4_slaves.jmx -R <all_my machine_names> -l distributedLog_Test.jtl (with and without -Jserver.rmi.ssl.keystore.file=rmi_keystore.jks)

jmeter -n -t distributed_test_4_slaves.jmx -R <all_my machine_names:ports> -l distributedLog_Test.jtl (with and without -Jserver.rmi.ssl.keystore.file=rmi_keystore.jks)

jmeter -n -t distributed_test_4_slaves.jmx -R <all_my machine_ips(with and without ports)> -l distributedLog_Test.jtl (with and without -Jserver.rmi.ssl.keystore.file=rmi_keystore.jks)

Каждый раз, когда я получаю одинаковые ошибки в командной строке:

Creating summariser <summary>
Created the tree successfully using distributed_test_4_slaves.jmx
#The next 5 lines repeat for each slave
Configuring remote engine: <slave_1..4>
Exception creating connection to: <slave_1..4>; nested exception is:
    java.io.FileNotFoundException: rmi_keystore.jks (The system cannot 
find the file specified)
Failed to configure <slave_1..4>
Stopping remote engines
Remote engines have been stopped
Error in NonGUIDriver java.lang.RuntimeException: Following remote 
engines could not be configured:[
<slave_1>, <slave_2>, <slave_3>, <slave_4>]

Чего мне не хватает?Почему он работает и работает в графическом интерфейсе, а не в командной строке?Что-то не может быть правильным.

1 Ответ

0 голосов
/ 24 мая 2018

Убедитесь, что

  1. Вы либо запускаете JMeter из его папки "bin"
  2. , либо имеете rmi_keystore.jks в папке, где вы запускаете JMeter из

, поскольку ошибка ясно указывает на то, что JMeter пытается загрузить файл rmi_keystore.jks и терпит неудачу

Еще одна вещь, которую нужно попробовать, - указать полный путь к файлу rmi_keystore.jks через свойство server.rmi.ssl.keystore.file.

Вы также можете полностью отключить безопасную связь RMI, установив для свойства server.rmi.ssl.disable значение true

Обычно jmeter.log файл должен содержатьОсновная причина проблемы, если она не очень или не очень информативна - вы можете увеличить детализацию журнала JMeter для выбранных классов или пакетов.

...