Я пытаюсь запустить jmeter для запуска нагрузочного теста.
Одна вещь, которая показалась мне странной, это то, что я могу без проблем запустить следующую команду jmeter в macOS.
PROTOCOL=https
DOMAIN=mywebsite.com/API
PORT=443
LOOP=1
THREADS=1
/var/jenkins_home/apache-jmeter-5.1.1/bin/jmeter \
-Jjmeter.save.saveservice.output_format=xml \
-Jprotocol=${PROTOCOL} \
-Jdomain=${DOMAIN} \
-Jport=${PORT} \
-Jloop=${LOOP} \
-Jthreads=${THREADS} \
-n -t mywebsite.jmx \
-l jmeter.jtl \
-j mywebsite.log
Но когда я запускаю вышеупомянутую команду на машине linux, я получаю сообщение об ошибке.
<httpSample t="0" it="0" lt="0" ct="0" ts="0" s="false" lb="" rc="Non HTTP response code: java.net.MalformedURLException" rm="Non HTTP response message: Illegal character found in host: '/'" tn="Thread Group 1-1" dt="text" by="822" sby="0" ng="1" na="1">
<null/>
</httpSample>
И 100% запросов jmeter не были выполнены.
Это сообщение об ошибке находится в jmeter.jtl
файле результатов.
Похоже, что jmeter не допускает /
в своем домене в среде linux. Мой домен mywebsite.com/API
содержит символ /
.
Java-версия на моем macOS
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
, а java-версия на моем компьютере с Linux -
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
jmeter в обеих системах - 5.1.1.
Кто-нибудь знает, что не так в моей среде linux?