тестирование jmeter - отправка 300 потоков, но максимальная транзакция 40 / с? - PullRequest
1 голос
/ 14 декабря 2011

Я проводил нагрузочное тестирование с JMETER.Что-то меня смущает.

Я пытался отправить 300 потоков на веб-сервер apache http-запроса.Однако количество транзакций / секунд никогда не превышает 40. Есть ли какая-то конфигурация apache, например, максимальное соединение или максимальный поток, необходимые для открытия, чтобы можно было выполнить тестирование с непрерывным потоком 300?

Загрузка ЦП также никогда не достигает 5%(сервер 8 ядерный).

1 Ответ

2 голосов
/ 14 декабря 2011

Вы правы, есть некоторые.

Вы должны правильно установить следующее:

  • для Apache: MaxClients + ServerLimit
  • для Tomcat: maxThreads + acceptCount (соединитель AJP / HTTP)

Tomcat имеет две настройки в файле конфигурации Connector (... / tomcat /conf / server.xml):

  • maxThreads - максимальное количество потоков обработки запросов, создаваемых соединителем HTTP, который определяет максимальное количество одновременных запросовэто может быть обработано;
  • acceptCount - максимальная длина очереди для входящих запросов на соединение, когда используются все
    возможных потоков обработки запросов.Любые запросы, полученные при заполнении очереди, будут отклонены.

Настройки Apache:

  • MaxClients - максимальное количество соединений, которые будут обрабатываться одновременно;
  • ServerLimit - верхний предел настраиваемого числа процессов.

Последние два вы можете установить либо в httpd-mpm.conf и / или httpd-mpm.conf_2.0 в папке ../conf/extra/ или добавьте в httpd.conf что-то вроде следующего:

<IfModule mpm_prefork_module>
    . . .
    ServerLimit 350
    MaxClients 350 
</IfModule>

Обратите внимание, что значение ServerLimit определяет верхний предел значений MaxClients, поэтомуServerLimit должен быть равен или больше, чем MaxClients.

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