Пётр Байкалов
Если ему памяти не хватает, то в чём разница?
Думаю предположение есть, что происходит следующая цепочка событий:
- долгие ответы
- много обработчиков
- много оперативной памяти
- много соединений и дескрипторов
- много расходов на синхронизацию и сбор статистики
- ещё более долгие ответы
- JVM закрывает процесс
А в случае закрытой модели нагрузки:
- долгие ответы
- фиксированное количество обработчиков
- фиксированное количество дескрипторов и соединений (если установлена опция shareConn)
- больше расходов на синхронизацию
- фиксированные расходы на сбор статистики
- нагрузка проседает, влияния не время ответа почти нет
При превышении длительности запросов над длительностью шага - нагрузки нагрузка просядет. Если при превышении использовать ещё и trottle (контроль RPS), то упадет до 0.
Но не упадет весь тест по Out of memory. Что очень важно в таких ситуациях. Не потерять метрики, не упасть