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