Нагрузочное тестирование - уменьшение числа одновременных пользователей и сокращение времени сеанса - PullRequest
0 голосов
/ 18 марта 2020

Я использую Цунг, чтобы сделать нагрузочный тест. Я записал поведение браузера с помощью tsung Я ничего не добавил в файл xml, который я сохранил с помощью tsung-рекордера.

XML:

    <session name='rec20200313-1147' probability='100'  type='ts_http'>
    <request><http url='https://www.example.com/' version='1.1' method='GET'>
    <http_header name='Accept' value='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' />
    <http_header name='Accept-Encoding' value='gzip, deflate' />
    <http_header name='Accept-Language' value='en-US,en;q=0.5' /></http></request>

    <thinktime random='true' value='10'/>

    <request><http url='https://www.example.com/arama?aranan=example' version='1.1' method='GET'>
    <http_header name='Accept' value='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' />
   <http_header name='Accept-Encoding' value='gzip, deflate' />
   <http_header name='Accept-Language' value='en-US,en;q=0.5' /></http></request>

   <thinktime random='true' value='17'/>

   <request>  <http url='/arama?search=loadtest&amp;siralama=1' version='1.1' method='GET'>
  <http_header name='Accept' value='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' />
   <http_header name='Accept-Encoding' value='gzip, deflate' />
   <http_header name='Accept-Language' value='en-US,en;q=0.5' /></http></request>
   </session>

Когда я пытался выполнить этот тест с 300 ботами, число пользователей было не более 200 000. Также это число внезапно начало уменьшаться

Пример:

  • Я начал тестирование.
  • 20000 (через 10 секунд)
  • 80 000 (в течение 40 секунд)
  • 170 000 (1 мин)
  • 50 000 (более минуты)
  • 70 000
  • 100 000
  • 60 000
  • Тест закончен

Я пробовал много разных сценариев ios. Но я стремился увеличить количество пользователей до 1 миллиона. Это все, что я наблюдал со своей стороны

Администраторы, которые являются владельцами приложения, которое я тестировал, сказали:

  • Блокировки нет.
  • Ваша продолжительность сеанса не займет больше 5 секунд.

Тест окончен. Впоследствии, когда журналы были проверены, они сказали, что я получил ответ TCP RST

Я пытаюсь понять, где ошибка об этой проблеме.

Что я пропустил в цинг-рекордере? Как мне эмулировать настоящий браузер с цунг-рекордером. Почему я получил ответ TCP RST? Является ли Цунг подходящим инструментом для того, что я хочу сделать. Что не так.

Примечание: я не добился успеха, когда хотел провести http get атаку.

1 Ответ

1 голос
/ 18 марта 2020

Сброс TCP происходит, когда на хост поступает неожиданный TCP-пакет.

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

Если случится так, что машина, на которой работает Tsung, перегружена - вам нужно будет добавить больше хостов и запустить Tsung в кластерном режиме

В отношении реального моделирования браузера вам может потребоваться настроить / поддерживать уникальный сеанс для каждого виртуального пользователя, в большинстве случаев он реализуется с помощью Cookies . Как заставить JMeter вести себя как настоящий браузер статья с общими рекомендациями, все они могут быть переведены на Tsung.

...