Какое наибольшее количество потоков разумно одновременно запускать в Jmeter?

StackOverflow https://stackoverflow.com/questions/765101

Вопрос

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

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

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

  • ваш JVM 32-битный или 64-битный

  • выделенная вам память jvm -Xmx

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

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

  • Режим с графическим интерфейсом/без графического интерфейса

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

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

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

Прочтите это, чтобы получить советы по настройке:

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

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

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

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

На ПК установлена ​​64-разрядная версия Windows 7, 4 ГБ оперативной памяти iCore5.

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

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

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

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

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

Игра «Угадай числа»...

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

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

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

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

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

поэтому в идеале это зависит от видов тестирования производительности, стиля развертывания и т. д.

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top