JMETER 4. 0 | Распределенное нагрузочное тестирование JMeter | jp@gc - группа степпинга | 504 Время ожидания шлюза | Не HTTP код ответа | Утверждение не удалось

Сценарий с учетом логина пользователя-> Перейдите на страницу 01-> удерживайте пользователя в течение 5 минут-> Выход пользователя

Сценарий, как показано ниже:

  • Перейдите на главную страницу
  • Пользователь вошел в систему (Утверждение для проверки входа на некоторый текст на панели инструментов)
  • Панель инструментов появляется
  • Перейдите на страницу 01 (содержимое страницы подтверждения 01)
  • Выход из системы (добавлен постоянный таймер на 5 минут и подтверждение выхода из системы для проверки перенаправления домашней страницы)

Настройка потока Step Up была сохранена следующим образом:

Для реализации этого сценария распределенная система была реализована следующим образом:

  • Мастер (Моя собственная машина 8 ГБ Ram и Core 2 Duo Processor)
  • 2 подчиненных машины (8 ГБ оперативной памяти каждый и процессоры I7 и Core 2 Duo)

  • Тема: jp@gc - Группа степпинга

Сервер был настроен как показано ниже:

  • 2 экземпляра EC2 (по 16 ГБ RAM)
  • 1 балансировщик нагрузки
  • 1 экземпляр RDS

Примечание. Экземпляр автоматически масштабируется при загрузке процессора 60%.

При выполнении сценария для 500 одновременных пользователей, использующих пошаговый поток в режиме без графического интерфейса пользователя, в отчете панели мониторинга отображается приведенный ниже список ошибок.

  • Ошибка 504 Время ответа сервера истекло
  • Код ответа не HTTP: java.net.SocketException / Сообщение ответа не HTTP: сброс подключения
  • Ошибка при выходе из системы

Может ли кто-нибудь помочь мне узнать, почему они появляются? когда я проверил, не появился ли тайм-аут Load Balancer 504/Gateway? Я пытался отследить эти ошибки, но не смог понять, почему они появляются вместе с двумя другими ошибками. Когда один и тот же сценарий выполняется для 10 пользователей, в режиме графического интерфейса не появляется ошибка.

Хотя тот же сценарий, когда он выполняется для 100-250 одновременно работающих пользователей, он работает довольно хорошо, когда нет такой ошибки выше.

1 ответ

Если проблема не возникает для 250 виртуальных пользователей и возникает для 500 - это определенно узкое место, вызванное повышенной нагрузкой, вам просто нужно выяснить причину.

  1. Убедитесь, что DNS Cache Manager добавлен в ваш план тестирования, иначе вы можете столкнуться с ситуацией, когда загрузка идет только на один сервер
  2. Настройте мониторинг ваших экземпляров EC2, чтобы убедиться, что они имеют достаточный запас для работы с точки зрения ЦП, ОЗУ, сети и т. Д. Для этого вы можете использовать Amazon CloudWatch или JMeter PerfMon Plugin.
  3. Возможно, вы захотите перезапустить тест с включенной функцией телеметрии инструмента профилирования - таким образом, вы сможете увидеть, где приложение проводит большую часть времени.
  4. Проверьте конфигурацию серверов приложений, баз данных и т. Д., Так как это может быть проблемой конфигурации промежуточного программного обеспечения.
  5. Помните, что в соответствии с JMeter Best Practices вы всегда должны использовать последнюю версию JMeter, поэтому рассмотрите возможность перехода на JMeter 5.0 (или любую последнюю версию, доступную на странице загрузок JMeter) как можно скорее.
Другие вопросы по тегам