Установка и запуск JMeter на Linux CentOS

Обновлено и опубликовано Опубликовано:

Данная инструкция показывает только установку на 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 с бинарным файлом. Находим его и копируем ссылку:

Копируем ссылку на последнюю версию jmeter

Используя скопированную ссылку, загружаем на сервер архив:

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:

      _ __  __ _____ _____ _____ ____
     | |  \/  | ____|_   _| ____|  _ \
  _  | | |\/| |  _|   | | |  _| | |_) |
 | |_| | |  | | |___  | | | |___|  _ <
  \___/|_|  |_|_____| |_| |_____|_| \_\ 5.4.1

Copyright (c) 1999-2021 The Apache Software Foundation

Инструмент установлен.

Запуск в качестве сервера

Запустим серверную часть в качестве службы.

Настройка сервера

Необходимо создать хранилище ключей перед запуском JMeter с помощью скрипта create-rmi-keystore.sh:

create-rmi-keystore.sh

Скрипт запросит наши данные:

What is your first and last name?
  [Unknown]:  Dmosk
What is the name of your organizational unit?
  [Unknown]:  DmoskOU
What is the name of your organization?
  [Unknown]:  Dmosk
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=Dmosk, OU=DmoskOU, O=Dmosk, 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

[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.

# Linux # CentOS # DevOps
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет