Корреляция JMeter: Почему извлеченное значение не передается следующему запросу во время тестирования большого объема, скажем, -1000 потоков

#jmeter

Вопрос:

Я извлек значение из ответа и передал его через следующий запрос. Когда я выполняю тест с минимальными пользователями, например, до 100-200 извлеченных значений передаются следующему запросу должным образом. но при увеличении нагрузки с 500 до 1000 имя переменной отображается так, как указано в запросе, а не извлеченное значение. в чем бы была причина и как с этим справиться?. из-за этого я получаю ошибку 502 bad gateway.

Ответ №1:

Если JMeter не удается извлечь значение из ответа, скорее всего, это означает, что в ответе нет значения, я ожидаю, что при загрузке ваше приложение не сможет правильно ответить, поэтому извлечение завершится неудачей.

ошибка 502 bad gateway не имеет ничего общего с извлечением переменной, это указывает на то, что ваше приложение испытывает проблемы при загрузке

что касается «как с этим справиться» — сохраните данные ответа для предыдущего сэмплера, это можно сделать, добавив в качестве дочернего элемента этого сэмплера простое средство записи данных или гибкое средство записи файлов.Таким образом, вы сможете проверить вывод и выяснить, что с ним не так.

введите описание изображения здесь

введите описание изображения здесь

Если вы хотите сохранить данные ответов для всех пробоотборников — переместите прослушиватель на тот же уровень, что и пробоотборники, или выше, для получения более подробной информации см. раздел Руководство пользователя по правилам области действия.

В качестве альтернативы вы можете добавить следующие строки в файл user.properties:

 jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.url=true
 

Дополнительная информация: Как сохранить данные ответа в JMeter

Комментарии:

1. Итак, нужно ли мне ждать ответа, полученного на запрос, а затем переходить к следующему запросу? Кроме того, я хотел бы знать, как рассчитать общее время выполнения, чтобы получить ответ на все запросы(всего 100 запросов) с пользовательской нагрузкой 2000. иногда транзакции пропускаются, и мне снова нужно увеличить период времени.