JMeter исчерпывает память при попытке создать отчет HTML - PullRequest
0 голосов
/ 06 мая 2020

Мне нужна помощь, возможно, у кого-то была похожая проблема с JMeter report generation

У меня есть сценарий JMeter с SOAP запросами API, которые размещают заказ на покупку. Во время создания заказа проблем нет, но когда все запросы завершены и JMeter пытается сгенерировать отчет, я получаю сообщение об ошибке:

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid8676.hprof ...
Heap dump file created [7011161840 bytes in 93.212 secs]
Uncaught Exception java.lang.OutOfMemoryError: Java heap space in thread Thread[StandardJMeterEngine,5,main]. See log file for details.

Я использовал JConsole для мониторинга JMeter во время выполнения и заметил, что в основном куча был на уровне 25% во время тестового запуска и увеличился до 100% во время создания отчета. Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 28 июля 2020

Я сталкивался с этой проблемой много раз, когда файл результатов теста был очень большим. Что вам нужно сделать, так это установить максимальный размер кучи перед созданием отчета Dashboard. Какое значение вы можете установить для максимального размера кучи, зависит от того, работаете ли вы в 32-битной ОС или в 64-битной, и от того, сколько оперативной памяти доступно на машине / виртуальной машине. Если на машине, на которой вы создаете отчет, недостаточно оперативной памяти, вы можете скопировать файл результатов на другую машину, на которой больше. Например, когда я сталкиваюсь с этой проблемой на тестовой виртуальной машине, я обычно просто копирую файл результатов локально на свой ноутбук, имеющий 16 ГБ, и запускаю следующую команду:

JVM_ARGS="-Xms3072m -Xmx12g" && export JVM_ARGS && jmeter -g resultsFile.jtl -o outputReport
0 голосов
/ 07 мая 2020

В ошибке четко указано, что JMeter не хватает Java Heap пространства для завершения операции генерации отчета, возможно, вы выполнили длительный тест и ваши результаты .jtl файл очень большой, поэтому он не помещается в кучу размером 7 ГБ. Обычно это указывает на то, что разработчик не слишком знаком с управлением памятью и не может придумать лучшего решения, чем загружать все в память одним выстрелом вместо того, чтобы делать это партиями / буферами, поэтому может быть хорошей идеей поднять проблему в JMeter's Bugzilla

Так что просто увеличьте размер кучи JVM, выделенный для JMeter, манипулируя параметром -Xmx, даже если ваша система начнет интенсивно использовать файл подкачки, я думаю, вы сможете жить с этим .

Альтернативный вариант - создание таблиц / диаграмм с помощью JMeter Plugins Command Line Graph Plotting Tool , однако таким образом вы получите индивидуальные результаты, а не модную HTML панель инструментов

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