Какое наибольшее количество потоков целесообразно одновременно запускать в Jmeter? - PullRequest
34 голосов
/ 19 апреля 2009

Я хочу использовать максимально возможное количество потоков (чтобы использовать меньше компьютеров), но без создания узкого места в клиенте.

Ответы [ 9 ]

27 голосов
/ 12 августа 2012

JMeter может имитировать очень высокую нагрузку, если вы правильно ее используете.

Не слушайте Городские легенды , в которых говорится, что JMeter не может справиться с высокой нагрузкой.

Теперь что касается ответа, это зависит от:

  • мощность вашей машины

  • ваш jvm 32 или 64 бита

  • вашей jvm выделенной памяти -Xmx

  • ваш план тестирования (много бобов, постпроцессор, xpath ... означает много процессора)

  • ваша конфигурация ОС (настраивается)

  • Режим Gui / Non GUI

Так что теоретического ответа нет, но следование Наилучшим практикам обеспечит хорошую работу JMeter.

Обратите внимание, что с помощью jmeter вы можете распределить нагрузку с помощью удаленного тестирования, прочитайте:

И, наконец, используйте облачное тестирование, если этого недостаточно.

Прочтите это для советов по настройке:

Прочтите эту книгу для проведения нагрузочного тестирования и правильного использования JMeter.

10 голосов
/ 19 апреля 2009

Я довольно неплохо использовал JMeter и обнаружил, что он не очень хорош для генерации действительно высокой нагрузки. На 2 ГГц Core2 Duo с 2 ГБ памяти вы можете ожидать около 100 потоков.

При этом лучше всего запускать его на своем оборудовании, чтобы процессор ПК не достигал пика на уровне 100% - стабильные 80% -90% лучше, в противном случае это влияет на результаты.

Я также попробовал WAPT 5 - он успешно запустил 1000+ потоков с того же ПК. Он не бесплатный, но он более полезен, чем JMeter, но не обладает всеми функциями.

Устаревший ответ, поскольку, по крайней мере, версии 2.6 см. https://stackoverflow.com/a/11922239/460802, чтобы получить более свежую версию.

9 голосов
/ 19 апреля 2009

JMeter Wiki сообщает о случаях, когда JMeter использовался с 1000 потоков Я использовал его не более чем с 100 потоками, но ссылки в вики предлагают сокращение ресурсов, которое я никогда не пробовал.

4 голосов
/ 11 января 2010

Одной из проблем, с которыми мы столкнулись при запуске JMeter в Windows XP, было ограничение TCP-соединения в Windows XP. Предел должен быть удален, чтобы запустить JMeter для полного использования возможностей рабочей станции. Подробнее здесь . AFAIK, не распространяется на другие ОС.

3 голосов
/ 15 августа 2015

Я использовал JMeter с 2004 года и запустил множество нагрузочных тестов.

С ПК Windows 7 64 бит 4Go RAM iCore5.

Я думаю, что JMeter может поддерживать от 300 до 400 параллельных потоков для протокола Http (Sampler) только с одним «слушателем совокупного отчета», который записывает в файл журнала результаты и таймеры между вызовами стр.

Для теста с большой нагрузкой вы можете настроить JMeter с ведомыми устройствами (генераторами нагрузки), например так http://jmeter -plugins.org / вики / HttpSimpleTableServer /

Я уже провел тесты с 11 ведомыми ПК для имитации 5000 потоков.

0 голосов
/ 06 сентября 2016

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

Чтобы определить максимальное количество потоков, которое может обработать ваш компьютер, вы можете подготовить тестовый пример и запустить его только с несколькими потоками. Затем с каждым циклом пробного запуска постепенно увеличивайте количество потоков. Во время этого вам также необходимо контролировать ЦП, ОЗУ, дисковый ввод-вывод и сетевой ввод-вывод вашего компьютера. В тот момент, когда какой-либо из этих параметров достигает 80% или более (опять же, вы сами решаете, подходит ли этот вариант для вас или за его пределами), это максимальное количество потоков, которое может обработать ваш компьютер. Чтобы быть в безопасности, я остановился бы на числе, когда использование ресурсов достигает 70%.

0 голосов
/ 23 ноября 2015

Это больше зависит от того, какое тестирование производительности вы проводите (нагрузка, скачок, выносливость и т. Д.) На конкретном сервере (немного от аппаратной зависимости)

Помните об этих параметрах - на клиентском компьютере, на котором вы нацелены на запуск jmeter, будет выделено определенное количество динамической памяти, убедитесь, что выделение исправно, чтобы сценарий не выдавал ошибку. Максимальный результат, который я выполнил на jmeter, был 1500 в локальной среде (арка клиент-сервер). На веб-арке максимальный прогон, основанный на нефункциональных требованиях, был ограничен 250 потоками,

так что в идеале это зависит от видов тестирования производительности и стиля развертывания и т. Д.

0 голосов
/ 26 апреля 2009

Это будет зависеть от оборудования, на котором вы работаете, а также от основного скрипта. Я всегда чувствовал, что эта нечеткость - самая большая проблема с традиционными инструментами нагрузочного тестирования. Если у вас небольшой бюджет (примерно 200 долларов США, то вы получите МНОГО тестирования), проверьте сервис тестирования нагрузки моей компании , BrowserMob.

Помимо наших реальных пользователей браузеров (RBU), которые контролируют тысячи реальных браузеров с целью тестирования производительности и нагрузки, у нас также есть традиционные виртуальные пользователи (VU). Скрипты написаны на JavaScript и могут выполнять различные HTTP-вызовы.

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

Чтобы решить эту проблему для BrowserMob, мы использовали чрезвычайно консервативный подход к количеству VU и RBU на ядро ​​ЦП: не более 1 браузера или 50 потоков на ядро ​​ЦП, а иногда и намного меньше. В мире облачных вычислений циклы ЦП настолько дешевы, что просто не имеет смысла перегружать машины.

0 голосов
/ 19 апреля 2009

Я не использовал JMeter, но ответ, вероятно, зависит от вашего оборудования. Лучше всего установить показатели производительности, угадать количество потоков и затем выполнить бинарный поиск следующим образом.

Источником была Википедия.

Игра в угадайку чисел ...

Эта довольно простая игра начинается примерно так: «Я думаю о целых числах от сорока до шестидесяти включительно, и по вашим предположениям я отвечу« Высокий »,« Низкий »или« Да! как могло бы быть. " Предположим, что N - это число возможных значений (здесь было указано двадцать одно как «включительно»), тогда для определения числа требуется не более вопросов, поскольку каждый вопрос делит пространство поиска на два. Обратите внимание, что на один вопрос (итерация) требуется меньше, чем для общего алгоритма, поскольку число уже ограничено определенным диапазоном.

Даже если предполагаемое число может быть сколь угодно большим, и в этом случае нет верхней границы N, мы все равно можем найти число не более чем за шаг (где k - (неизвестное) выбранное число), сначала найдя верхняя граница повторяющегося удвоения. Например, если бы число было 11, мы могли бы использовать следующую последовательность догадок, чтобы найти его: 1, 2, 4, 8, 16, 12, 10, 11

Можно также расширить технику, чтобы включить отрицательные числа; например, следующие догадки могут быть использованы для нахождения -13: 0, -1, -2, -4, -8, -16, -12, -14, -13

...