Я использую JMeter 5.1.1 и пытаюсь выполнить нагрузочный тест. Я добавил JSON Extractor для извлечения пользовательского контекста из запроса GET следующим образом:
Имя созданных переменных:
schoolId;
teacherAccountId;
teacherProfileId;
teacherUserName;
schoolLogoId;
Выражения JSON Path:
$.[?(@.type == 'SCHOOL')].id;
$.[?(@.type == 'SCHOOL')].accountId;
$.[?(@.type == 'SCHOOL')].profileId;
$.[?(@.type == 'SCHOOL')].username;
$.[?(@.type == 'SCHOOL')].icon.id;
При выполнении 800 пользовательских потоков выдает следующую ошибку со стороны клиента.
Будет запущен цикл для всех назначенных переменных (teacherProfileId; teacherUserName; schoolLogoId;
)
затем после выдает ошибку со стороны сервера - java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid23134.hprof
...
Что я могу сделать для этого? Что-то не так с конфигурациями экстрактора JSON?
Примечание. Я уже увеличил размер кучи JVM до 4G
Error processing JSON content in JSON Extractor -Extract user data from user context, message: Filter: [?]['teacherAccountId'] can not be applied to primitives. Current context is: org.apache.http.conn.ConnectTimeoutException: connect timed out
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:336)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374)
....