JMeter Высокое потребление памяти для запроса POST с полезной нагрузкой JSON-запроса 2 МБ - PullRequest
0 голосов
/ 28 июня 2019

У меня есть простой план тестирования JMeter с одним сэмплером HTTP, который отправляет полезную нагрузку JSON размером 2 МБ.Мы настроили тест на выполнение 50 транзакций в секунду с резервированием от 50 до 75 потоков с помощью конечной группы потоков и таймера формирования пропускной способности.JMeter работает с конфигурацией кучи 8 ГБ и алгоритмом G1GC на Mac с Oracle JDK / jre.

Структура

Конечная группа потоков Таймер формирования пропускной способности HTTP Sampler с 2 МБ - файл JSON в поле тела JSON Assertion Диспетчер заголовков HTTP

Параметры, которые были протестированы 1. 10 потоков /10 TPS - потребление памяти по-прежнему составляет от 3 до 8 ГБ. 2. Использовал __StringFromFile для чтения полезной нагрузки из файла, а затем использовал его как переменную, используя $ {}, а также как свойство с $ __ P.Перерасход памяти остается одинаковым в обоих вариантах 3. Сэмплер процесса ОС настроен на использование CURL, что было лучше и потребляло всего 500 МБ с 10 потоками.Но я хочу знать, есть ли лучший вариант для достижения этого в самом сэмплере hTTP.т. е. добиться большей пропускной способности на JVM с конфигурацией 8 ГБ.

enter image description here

1 Ответ

0 голосов
/ 01 июля 2019

Чтобы минимизировать потребление памяти JMeter при отправке больших файлов, вы можете использовать Сэмплер HTTP Raw Request

Имеется специальный режим , позволяющий направлять потоковый файл непосредственно на конечную точку, избегая предварительного чтения его в память , поэтому вы можете отправлять файлы любого размера без какого-либо влияния на JMeter. куча места.

Вы можете установить сэмплер HTTP Raw Request, используя JMeter's Plugins Manager

enter image description here

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