#testing #jmeter #load #performance-testing
Вопрос:
Мне нужно протестировать нагрузочное тестирование для 32000 пользователей, продолжительность 15 минут. И я запустил его в режиме командной строки. Нити-300, нарастание-100, петля 1. Но после показа некоторых данных он замораживается. Поэтому я не могу получить полный отчет/html. Даже я не могу работать для 50 пользователей. Как я могу избавиться от этого. Пожалуйста, дайте мне знать.
Комментарии:
1. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.
Ответ №1:
От 0 до 2147483647 потоков в зависимости от различных факторов, включая, но не ограничиваясь:
- Технические характеристики оборудования машины, на которой вы запускаете JMeter
- Ограничения операционной системы (если таковые имеются) компьютера, на котором вы запускаете JMeter
- Конфигурация JMeter
- Характер вашего теста (используемые протоколы, размер запроса/ответа, наличие предварительных/постпроцессоров, утверждений и прослушивателей)
- Время отклика приложения
- Фаза луны
- и т.д.
Нет такого ответа, как «на моем macbook у меня может быть около 3000 потоков», так как он варьируется от теста к тесту, для запросов GET, возвращающих небольшой объем данных, число будет больше, для запросов POST, загружающих огромные файлы и получающих огромные ответы, число будет меньше.
Подход заключается в следующем:
- Обязательно следуйте рекомендациям JMeter
- Настройте мониторинг машины, на которой вы запускаете JMeter (процессор, оперативная память, использование подкачки и т.д.), Если у вас нет лучшей идеи, вы можете использовать плагин JMeter PerfMon
- Начните свой тест с 1 пользователем и постепенно увеличивайте нагрузку, одновременно изучая потребление ресурсов
- Когда потребление любого из отслеживаемых ресурсов начинает превышать разумный порог, т. е. 80% максимальной доступной емкости, прекратите тест и посмотрите, сколько пользователей было в сети на этом этапе. Это количество пользователей, которых вы можете смоделировать с конкретной этой машины для конкретного теста.
- Другая машина или тест — повторите с самого начала.
Скорее всего, для 32000 пользователей вам придется пройти распределенное тестирование
Если ваш тест «зависает» даже для меньшего количества пользователей (300 можно смоделировать даже с настройками JMeter по умолчанию и, возможно, даже в режиме графического интерфейса):
- взгляните на jmeter.файл журнала
- возьмите дамп потока и посмотрите, что делают потоки