Перейти к содержимому

Шторм ​

Экран Шторм — источник нагрузки: он отправляет датаграммы UDP или открывает соединения TCP на одну цель так быстро и так долго, как вы попросите, и измеряет, что действительно ушло. С его помощью можно увидеть, как ваш собственный сервер, устройство или канал выдерживает поток: продолжает ли отвечать, теряет ли пакеты или падает.

Ответственное использование

Шторм посылает настоящий трафик на настоящий хост. Направляйте его только на хосты и сети, которыми вы владеете или которые вам разрешено тестировать. Высокий темп может забить канал для всех, кто им пользуется, и сработать на системы обнаружения вторжений. Движок не ограничивает темп шторма: 0 означает «так быстро, как этот компьютер может отправлять».

Запуск шторма ​

  1. Задайте Цель host:port: IP:port или host:port, куда отправлять, например 127.0.0.1:9000 или test-rig.local:9000. Имя хоста разрешается при запуске, берётся его адрес IPv4, если он есть.
  2. Выберите значение в поле Протокол: UDP-флуд или TCP-флуд подключений.
  3. Задайте Пакет (байт), Темп, пак/с и Длительность, с.
  4. Нажмите Запустить шторм.

Шторм работает как задача: он виден в полосе задач и останавливается, когда истекает его длительность, когда вы нажимаете Остановить шторм или Остановить всё. Пока он работает, поля зафиксированы.

ПолеЧто этоПо умолчанию
Цель host:portIP:port или host:port цели.127.0.0.1:9000
ПротоколUDP-флуд: отдельные датаграммы. TCP-флуд подключений: новое TCP-соединение на каждый «пакет».UDP-флуд
Пакет (байт)Байтов в каждой датаграмме или соединении, 1–65 507. Большее или меньшее значение приводится к этому диапазону.512
Темп, пак/сПакетов (или соединений) в секунду, к которым стремиться. 0: как можно быстрее.1000
Длительность, сСколько секунд работать. 0: пока вы не остановите.10

UDP-флуд ​

Signal Lab отправляет на цель датаграммы заданного размера, где каждый байт — 0x55, с одного собственного порта. Отправка, которую система отклонила, считается ошибкой — например, после того как цель ответила, что на этом порту никто не слушает.

TCP-флуд подключений ​

Для каждого «пакета» Signal Lab открывает TCP-соединение с целью, записывает содержимое и закрывает его. Соединения создаются одно за другим, а не одновременно, поэтому темп TCP-шторма ограничен тем, как быстро цель их принимает. Соединение, в котором отказано или которое не принято за 500 мс, считается ошибкой; соединение, принявшее содержимое, считается пакетом.

Как выдерживается темп ​

Темп — это расписание. Первый пакет уходит сразу, а пакет n должен уйти через n ÷ Темп, пак/с секунд после старта. Каждый раз, просыпаясь, шторм отправляет то, что причитается, затем спит до срока следующего пакета. Поэтому 50 в секунду — это 50 в секунду, а 250 — это 250 (запуск на одну секунду отправляет примерно столько) независимо от гранулярности системного таймера. Заданная Длительность, с завершает шторм вовремя, даже если следующий пакет должен уйти позже.

Шторм никогда не отправляет быстрее заданного темпа, чтобы наверстать упущенное. Если этот компьютер или медленно принимающая TCP-цель отстаёт больше чем на 256 пакетов, более старые выбрасываются из расписания, а не отправляются с опозданием залпом. Показатель Пак/с отражает достигнутое.

При Темп, пак/с, равном 0, расписания нет: шторм отправляет 256 пакетов, даёт поработать остальным задачам и отправляет следующие 256 — так быстро, как может этот компьютер.

Чтение пропускной способности ​

Блок Пропускная способность обновляется четыре раза в секунду:

ПоказательЧто это
ПакетыОтправленные датаграммы или соединения, принявшие содержимое, с начала.
Пак/сПакетов в секунду за последнюю четверть секунды.
СкоростьМегабит в секунду содержимого за последнюю четверть секунды. Заголовки (IP, UDP, TCP) не учитываются.
ОбъёмОтправленные байты содержимого с начала.
ОшибкиОтправки или соединения, завершившиеся ошибкой.

График под ними показывает Пак/с за последнюю минуту.

Когда шторм заканчивается, счётчики показывают окончательные итоги, а Пак/с и Скорость обнуляются.

Что говорят числа:

  • Пак/с заметно ниже Темп, пак/с при UDP: этот компьютер не может отправлять быстрее. Снизьте темп или размер пакета.
  • Ошибки растут при UDP: порт цели закрыт или сеть отклоняет трафик.
  • Ошибки растут при TCP: цель отказывает в соединениях или принимает их дольше 500 мс — возможно, она достигла предела.

Шторм говорит, сколько ушло, а не сколько дошло. Чтобы увидеть, что получила цель, наблюдайте за ней: её собственные журналы, монитор на экране OSC или эмулятор на её месте.

В Инспекторе ​

Когда захват включён, UDP-шторм кладёт в Инспектор по одной своей датаграмме в секунду с пометкой sampled 1/s — они все одинаковые. Вердикт также сообщает, сколько пропущено с предыдущей, как sampled 1/s · +999 not shown. TCP-шторм ничего туда не кладёт.

  • Помехи — медленный или теряющий пакеты канал вместо потока.
  • HTTP — нагрузочные потоки HTTP-запросов с задержками.
  • Нагрузочное тестирование — HTTP-нагрузка в эксперименте с порогами.