Thank you for reading this post, don't forget to subscribe!
Данная инструкция показывает только установку на Linux CentOS и настройку в качестве сервиса инструмент для тестирования JMeter.
Подготовка системы
Предварительно, необходимо установить openjdk и wget. Для этого вводим:
yum install java-11-openjdk wget
Смотрим версию openjdk:
java -version
Мы должны увидеть что-то на подобие:
openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)
Продолжаем.
Установка JMeter
Установку необходимо выполнить как на сервере, так и на всех клиентах.
Переходим на официальную страницу загрузки JMeter. Нам нужен архив tgz с бинарным файлом. Находим его и копируем ссылку:
Используя скопированную ссылку, загружаем на сервер архив:
wget https://apache-mirror.rbc.ru/pub/apache//jmeter/binaries/apache-jmeter-5.4.1.tgz
Распаковываем его:
tar zxvf apache-jmeter-5.4.1.tgz
И переносим распакованный архив в каталог /opt/jmeter:
mv apache-jmeter-*/ /opt/jmeter
Создаем файл для настройки переменных окружения:
vi /etc/profile.d/jmeter.sh
export JMETER_HOME=/opt/jmeter
export PATH=$JMETER_HOME/bin:$PATH
* в данном примере мы создаем переменную JMETER_HOME с путем до нашего каталога и добавляем ее значение к переменной PATH, которая используется для поиска системой файлов запуска.
Запускаем на выполнения файл, чтобы создать в текущей сессии нужные нам переменные окружения:
source /etc/profile.d/jmeter.sh
Вводим:
jmeter -v
Мы должны увидеть версию нашего jmeter:
1 2 3 4 5 6 7 |
_ __ __ _____ _____ _____ ____ | | \/ | ____|_ _| ____| _ \ _ | | |\/| | _| | | | _| | |_) | | |_| | | | | |___ | | | |___| _ < \___/|_| |_|_____| |_| |_____|_| \_\ 5.4.1 Copyright (c) 1999-2021 The Apache Software Foundation |
Инструмент установлен.
Запуск в качестве сервера
Запустим серверную часть в качестве службы.
Настройка сервера
Необходимо создать хранилище ключей перед запуском JMeter с помощью скрипта create-rmi-keystore.sh:
create-rmi-keystore.sh
Скрипт запросит наши данные:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
What is your first and last name? [Unknown]: user What is the name of your organizational unit? [Unknown]: userOU What is the name of your organization? [Unknown]: user What is the name of your City or Locality? [Unknown]: SPb What is the name of your State or Province? [Unknown]: SPb What is the two-letter country code for this unit? [Unknown]: RU Is CN=user, OU=userOU, O=user, L=SPb, ST=SPb, C=RU correct? [no]: yes |
В итоге, мы увидим:
Copy the generated rmi_keystore.jks to jmeter/bin folder or reference it in property 'server.rmi.ssl.keystore.file'
Пробуем запустить сервис командой:
/opt/jmeter/bin/jmeter-server
Мы должны увидеть что-то на подобие:
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[10.129.0.12:41899,SSLRMIServerSocketFactory(host=bigdata-mon.ru-central1.internal/10.129.0.12, 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:[-795e2f04:17b5896bf72:-7fff, -516441775273034593]]]
Наш сервер запускается.
Прерываем его работу комбинацией Ctrl + R и продолжаем настройку.
Автозапуск
Теперь создадим юнит в systemd:
vi /lib/systemd/system/jmeter-server.service
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Apache Jmeter server Documentation=https://jmeter.apache.org/usermanual/remote-test.html Wants=network-online.target After=network-online.target [Service] LimitNOFILE=10240 Type=simple Restart=on-failure RestartSec=180s WorkingDirectory=/tmp ExecStart=/opt/jmeter/bin/jmeter-server [Install] WantedBy=multi-user.target |
* в данном примере мы будем запускать приложение /opt/jmeter/bin/jmeter-server.
Перечитываем конфигурацию в systemd:
systemctl daemon-reload
Разрешаем автозапуск jmeter-server и стартуем его:
systemctl enable jmeter-server --now
Проверяем статус запущенного сервиса:
systemctl status jmeter-server
Переходим к клиенту.
Настройка клиента
На клиентском компьютере открываем файл:
vi /opt/jmeter/bin/jmeter.properties
Редактируем:
remote_hosts=192.168.0.15
* где 192.168.0.15 — адрес нашего сервера с jmeter.
Пример запуска тестирования будет выглядеть так:
jmeter -t /tmp/my_test_file.jmx -n -r -X -f -l jmetter.jtl
* где /tmp/my_test_file.jmx — путь до файла с тестами (разработка данного файла не входит в тему данной инструкции).
Графическая оболочка
Настройка jmetter может выполняться с помощью графического интерфейса. Если мы подключены к серверу без графической оболочки по SSH, то нам нужно настроить проброс X11 на рабочий компьютер, с которого мы подключаемся по SSH.
Устанавливаем на сервере пакеты:
yum install xauth xterm
Открываем конфигурационный файл:
vi /etc/ssh/sshd_config
И проверяем, что опция X11Forwarding разрешена:
X11Forwarding yes
Если данную опцию пришлось изменить, то перезапускаем sshd:
systemctl restart sshd
Теперь мы можем подключиться к нашему серверу по SSH
ssh -X -p 22 root@192.168.0.15
Теперь можно запустить jmetter:
jmetter
На компьютере, с которого мы подключены по SSH должно открыться окно с настройкой jmetter.