#jmeter
#jmeter
Вопрос:
У нас есть веб-приложение, основанное на Vaadin, которое я пытаюсь протестировать на производительность. Приложение имеет отчеты. Поэтому всякий раз, когда я открываю отчет, внутренне он отправляет некоторые вызовы Get и Post, некоторые из этих асинхронных вызовов. Проблема в том, что количество отправленных запросов меняется каждый раз, когда я открываю отчет. Например, в первый раз отправляется / принимается 5 запросов, во второй раз семь запросов, в третий раз около 11 запросов и в следующий раз снова пять запросов и т.д., случайным образом. Итак, когда я записывал, скажем, было ли пять запросов, во время воспроизведения произошел сбой. Возможно ли обойти эти проблемы?
Ответ №1:
Согласно статье «Как проверить производительность веб-приложения Vaadin с помощью JMeter«:
В Vaadin 7 больше не существует
setDebugId()
метода; вместо этого естьsetId()
метод. К сожалению, этот метод не устанавливает идентификаторы компонентов, используемые в ajax-запросе. Поэтому по умолчанию тесты JMeter приложения Vaadin 7 нестабильны к изменениям пользовательского интерфейса. Чтобы преодолеть эту проблему, вы можете использовать нашJMeterServlet
(см. Конец Этой статьи) вместо стандартногоVaadinServlet
. При использовании идентификаторыJMeterServlet
компонентов снова используются в ajax-запросах. Смотрите пример выше о том, как заменить VaadinServlet по умолчанию на JMeterServlet. Для получения дополнительной информации см. Тикет Vaadin # 13396.
Кроме того, воспроизведение записанных AJAX-запросов — не лучшая идея, потому что реальный браузер выполняет AJAX-запросы параллельно, в то время как JMeter последовательно выполняет сэмплеры HTTP-запросов, что дает совершенно разные сетевые возможности, поэтому рассмотрите возможность размещения этих сэмплеров HTTP-запросов, которые имитируют вызовы AJAX, под параллельным контроллером