При загрузке 1 ГБ файла, исключение Uncaught java .lang.OutOfMemoryError в JMeter - PullRequest
0 голосов
/ 29 апреля 2020

Я использую Jmeter 5.2.1 с HTTP-запросом для определения производительности загрузки файла объемом 1 ГБ. При выполнении сценария в режиме, отличном от GUI, я получаю сообщение об ошибке ниже -

java .lang.OutOfMemoryError: Java пространство кучи Дамп кучи в java_pid7536.hprof ... Дамп кучи файл создан [555071109 байт за 17.048 секунд] Uncaught Exception java .lang.OutOfMemoryError: Java пространство кучи в потоке Thread [Группа потоков 1-1,5, main]

jmeter.bat имеет свойство "set HEAP = -Xms1g -Xmx1g -XX: MaxMetaspaceSize = 256m"

У меня нет слушателей в файле jmx и я использую режим не GUI для тестирования. Могу ли я узнать, какие изменения мне нужно сделать, чтобы получить успешный ответ

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

В дополнение к предположениям Дмитрия, я бы добавил, что этот метод подходит для одной или двух загрузок, но вообще не масштабируется, если вы хотите протестировать десять или более параллельных загрузок. ИМХО, лучшим решением было бы проверить "Сохранить ответ как MD5 га sh?" в контроллере HTTP.

Если этот параметр выбран, то ответ не сохраняется в результате выборки. Вместо этого «MD5 га sh данных рассчитывается и сохраняется вместо» (из руководства). Это предназначено для тестирования больших объемов данных. Преимущество состоит в том, что данные не хранятся в памяти.

0 голосов
/ 29 апреля 2020

Если вы загружаете файл, он временно сохраняется в памяти, это означает, что вам нужно как минимум 1 ГБ HEAP для каждого параллельного потока JMeter (виртуального пользователя), чтобы иметь возможность извлечь файл.

Отредактируйте файл jmeter.bat и измените верхний предел кучи -Xmx на более высокое значение. Для 1 виртуального пользователя будет достаточно 2 гигабайта, например:

set HEAP=-Xms1g -Xmx2g -XX:MaxMetaspaceSize=256m

Для получения изменения потребуется перезапуск JMeter.

Ссылки:

В идеале потребление кучи JMeter должно составлять от 30% до 80% кучи JVM, фактическое число зависит от характера ваш тест, просто следите за использованием кучи, используя JVisualVM , чтобы JMeter не тратил слишком много времени на сборку мусора

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