Как приостановить запуск Jmeter в режиме без графического интерфейса на сервере Linux - PullRequest
0 голосов
/ 03 декабря 2018

Я отправляю данные в REST API, используя HTTP POST-запросы.Настройка jmeter является однопоточной.Поскольку я делаю 200 000 почтовых звонков, я хочу приостановить прогон при необходимости и возобновить прогон при необходимости.

NOTE: i am running the jmeter in NON GUI mode on Linux server, which will not have a GUI for anything.
Other important thing is i can't program it before the run starts because i'm not sure when to pause the suit or when to resume it.

1 Ответ

0 голосов
/ 03 декабря 2018

JMeter-специфичное решение будет использовать комбинацию Beanshell Server и Таймер постоянной пропускной способности .

  1. Добавьте в свой план тестирования таймер постоянной пропускной способности и установите желаемую пропускную способность в запросах в минуту.Если вы не хотите ограничивать JMeter - установите его на очень высокое значение, используя функцию __ P ()

    ${__P(throughput,10000000)}
    
  2. Включите Beanshell Server, добавив следующие 2строки в user.properties файл:

    beanshell.server.port=9000
    beanshell.server.file=../extras/startup.bsh
    
  3. Создайте 2 сценария, например

    • suspend.bsh, содержащие следующиестрока:

      setprop(throughput, 0); 
      
    • и resume.bsh, содержащая следующую строку:

      setprop(throughput, 10000000);
      

    Когда вам нужно приостановить тест, вызовитеСледующая команда из папки "lib" вашей установки JMeter:

    java -jar bshclient.jar localhost 9000 /path/to/your/suspend.bsh
    

Chwck Как изменить статью загрузки JMeter во время выполнения для получения более подробной информации.


В конкретном решении Linux для приостановки будет использоваться kill команда , например:

  • : kill -SIGSTOP JMETER_JAVA_PID

  • для продолжения: kill -SIGCONT JMETER_JAVA_PID

где JMETER_JAVA_PID - это идентификатор процесса JVM, на котором запущен JMeter, вы можете узнать это с помощью jps команда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...