Высокая пропускная способность Jmeter и AWS - PullRequest
0 голосов
/ 18 сентября 2018

В настоящее время у меня возникают проблемы при попытке достичь хороших показателей пропускной способности с помощью Jmeter на AWS.В настоящее время у меня есть распределенное нагрузочное тестирование с 4 t3.large экземплярами (один ведущий, 3 подчиненных), и с запущенными мною тестами я не могу получить больше 60 запросов HTTP в секунду.Я достиг этого числа только с двумя подчиненными и планом тестирования с 250 группами потоков (таким образом, 250 * 2).Затем я протестировал 500 групп потоков в плане тестирования и не смог получить более высокую пропускную способность.Из-за этого я добавил дополнительного ведомого устройства и уменьшил количество групп потоков до 334 (334 * 3) и не смог получить более высокие значения пропускной способности, чем в первом тесте.Количество циклов и время разгона оставались неизменными на протяжении всех испытаний.

Я не могу поделиться используемым планом тестирования, который я использую, но в основном это запись целевой страницы + вход + навигация после входа в систему с использованиемплагин Blazemeter Chrome.

При выполнении тестов я использовал JVM_ARGS -Xms1024m -XX: NewSize = 512m -XX: MaxNewSize = 4096, поскольку во избежание ошибок памяти.

IЯ надеюсь, что-то вроде 300 HTTP-запросов в секунду или более.Есть что-то, чего я здесь не хватает?Моей инфраструктуры недостаточно?Должен ли я что-то настраивать в Jmeter?

Группа потоков:

      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
    <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
    <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" enabled="true">
      <boolProp name="LoopController.continue_forever">true</boolProp>
      <stringProp name="LoopController.loops">10</stringProp>
    </elementProp>
    <stringProp name="ThreadGroup.num_threads">334</stringProp>
    <stringProp name="ThreadGroup.ramp_time">1</stringProp>
    <longProp name="ThreadGroup.start_time">1363247040000</longProp>
    <longProp name="ThreadGroup.end_time">1363247040000</longProp>
    <boolProp name="ThreadGroup.scheduler">true</boolProp>
    <stringProp name="ThreadGroup.duration">0</stringProp>
    <stringProp name="ThreadGroup.delay">0</stringProp>
  </ThreadGroup>

1 Ответ

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

В конце концов, мне кажется, что мне нужна более надежная инфраструктура.Я следовал рекомендациям в следующем документе:

https://flood.io/blog/how-to-run-one-million-users/

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

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