Какая аппаратная конфигурация мне нужна, чтобы запустить рабочую нагрузку в 1000 пользователей на jmeter для тестирования моего API - PullRequest
0 голосов
/ 18 октября 2018

У меня есть API, который возвращает данные об ученике, когда я отправляю на него идентификатор студента. Теперь я хочу протестировать свой API с 1000 пользователей, которые нажимают каждую секунду.Конфигурация моего ноутбука - Core i5, ram 8 gB Мой jmeter завершает тестирование, но потоки показывают ошибку

summary +   2642 in 00:00:30 =   88.0/s Avg:   938 Min:    59 Max: 130375 Err:     3 (0.11%) Active: 993 Started: 1000 Finished: 7
Generate Summary Results =  14824 in 00:02:54 =   85.3/s Avg:  1699 Min:    59 Max: 130375 Err:    54 (0.36%)
summary =  14824 in 00:02:54 =   85.3/s Avg:  1699 Min:    59 Max: 130375 Err:    54 (0.36%)
Generate Summary Results +   2636 in 00:00:30 =   87.9/s Avg:   613 Min:    59 Max: 15489 Err:     2 (0.08%) Active: 977 Started: 1000 Finished: 23
Generate Summary Results =  17460 in 00:03:24 =   85.7/s Avg:  1535 Min:        59 Max: 130375 Err:    56 (0.32%)
summary +   2636 in 00:00:30 =   87.9/s Avg:   614 Min:    59 Max: 15489     Err:     2 (0.08%) Active: 977 Started: 1000 Finished: 23
summary =  17460 in 00:03:24 =   85.7/s Avg:  1535 Min:    59 Max: 130375         Err:    56 (0.32%)
:
:
:
:
summary =  17460 in 00:010:24 =   123.7/s Avg:  5535 Min:    59 Max: 130375         Err:    723 (70.3%)

К концу около 723 потоков не удалось

Мой API возвращает ответ, если я запускаютест с 100 пользователями, тест успешен, но когда я запускаю с 1000 пользователями, большинство потоков перестают работать или остаются активными после завершения

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Давайте посчитаем, используя простую математику.При максимальном размере потока HTTP-запроса будет ок.1 МБ (кроме полезной нагрузки).

1 МБ * 1000 = 1000 МБ = 1 ГБ требуется как минимум размер кучи для 1000 одновременных пользователей.

500 МБ - для дополнительных задач, таких как прослушиватели, совокупный результат

Для выполнения этого теста требуется не менее 1500 МБ .сконфигурируйте jmeter для использования памяти, подобной этой, в файле / apache-jmeter / bin / jmeter .

Многопоточность также зависит от возможностей ЦП, поэтому попробуйте использовать многоядерный ЦП.

Что такое поток в ЦП? В компьютерной архитектуре многопоточность - это способность центрального процессора (ЦП) (или одного ядра в многоядерном процессоре) одновременно выполнять несколько процессов или потоков.Поддерживается операционной системой.

0 голосов
/ 18 октября 2018

Конфигурация JMeter по умолчанию не подходит для высоких нагрузок, вам нужно настроить ее, чтобы иметь возможность запустить 1000 потоков.

  1. Обязательно используйте последнюю версию JMeter и 64-разрядную версию Server JRE или JDK
  2. Увеличение размера кучи JVM, выделенного для JMeter до ~ 6 гигабайт
  3. Отключение (или удаление) слушателей в плане тестирования (если есть)
  4. Обязательно следите за использованием ЦП и ОЗУ на компьютере, на котором работает JMeter, во время теста. Для этого можно использовать плагин JMeter PerfMon .JMeter должен иметь достаточный запас для работы, если ему не хватает оперативной памяти или процессора, он не сможет отправлять запросы достаточно быстро.Если вы видите, что машина JMeter перегружена - вам придется рассмотреть распределенное тестирование

  5. Требования Harwdare будут сильно различаться в зависимости от характера вашего теста, т.е.постпроцессоры, утверждения, размеры запросов и ответов, время отклика приложений и т. д., поэтому нет сопоставления, такого как X hardware = Y виртуальных пользователей, вам нужно будет оценить его для каждого отдельного плана тестирования.Не забывайте увеличивать нагрузку постепенно и следить за показателями здоровья

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...