В наших нагрузочных тестах с jmeter наблюдается падение числа обращений в секунду примерно через 2 часа. Jmeter работает без графического интерфейса в распределенном режиме. Мой счетчик потоков в минуту составляет 25 КБ, и мы работаем с 6 серверами.
Чтобы исключить jmeter в качестве узкого места, я проверил, есть ли у Jmeter пул соединений с ограничением размера.
НоJmeter, кажется, поддерживает пулы http-соединений на поток. Согласно Поддерживает ли JMeter пул HTTP-соединений? .
Понятно, что значение по умолчанию составляет 2000 миллисекунд согласно свойству httpclient4.time_to_live в jmeter.properties
# TTL (in Milliseconds) represents an absolute value.
# No matter what, the connection will not be re-used beyond its TTL.
#httpclient4.time_to_live=2000
Версияjmeter: 4.0.0, который использует реализацию клиента Http4
Это означает, что Jmeter создает соединения для каждого потока, время ожидания которых составляет 2 секунды.
Принимающий веб-сервер Jetty имеет следующие значения пула соединений:
maxThreads = 3200
minthread = 656
idleTimeout = 60000
Возможно ли, что падение числа попаданий в секунду из-за jmeter вызвано из-за медленного / отсутствия ответа от сервера Jetty.? Существуют ли правила сопоставления числа потоков Jmeter с пулом соединений целевого веб-сервера. ?
Примечание. Я понимаю, что пропускная способность обычно зависит от ответа тестируемого приложения. Но будет ли тестируемое приложение каким-либо образом влиять на число попаданий Jmeter в секунду на целевой сервер .?
Обновление: с https://stackoverflow.com/a/40689714/1165859, ясно, что существует корреляция между попаданиями в секунду иТестируемое приложение. Но моя проблема в том, что все хорошо в течение первых 2 часов. После чего количество ударов в секунду падает.