АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

flowgrind - Интернет в облаке

Запустите flowgrind в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда flowgrind, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


flowgrind - расширенный генератор TCP-трафика для Linux, FreeBSD и Mac OS X

СИНТАКСИС


поток [ВАРИАНТ] ...

ОПИСАНИЕ


Flowgrind это продвинутый генератор TCP-трафика для тестирования и тестирования Linux,
Стеки TCP / IP FreeBSD и Mac OS X. В отличие от других инструментов измерения производительности, он
имеет распределенную архитектуру, в которой измеряется пропускная способность и другие показатели
между произвольными процессами сервера flowgrind, демон flowgrind Flowgrindd(1).

Flowgrind измеряет, помимо полезной производительности (пропускной способности), время между прибытиями на уровне приложения.
(IAT) и время приема-передачи (RTT), количество блоков и сетевых транзакций / с. В отличие от большинства кросс-
инструменты тестирования платформы, flowgrind собирает и сообщает метрики TCP, возвращаемые
Параметр сокета TCP_INFO, который обычно является внутренним для стека TCP / IP. В Linux и
FreeBSD включает, среди прочего, оценку ядром сквозного RTT, размер
окна перегрузки TCP (CWND) и порога медленного старта (SSTHRESH).

Flowgrind имеет распределенную архитектуру. Он разделен на два компонента: flowgrind
демон Flowgrindd(1) и Flowgrind контроллер. Используя контроллер, перемещается между
любые две системы, на которых запущен демон flowgrind, могут быть настроены (сторонние тесты). На регулярной
Интервалы во время теста контроллер собирает и отображает результаты измерений из
демоны. Он может запускать несколько потоков одновременно с одинаковыми или разными настройками и
индивидуальный график каждого. Контрольное и контрольное соединение можно по желанию перенаправить на
разные интерфейсы.

Сама генерация трафика является либо массовой, либо ограниченной по скорости, либо сложной.
запрос / ответ тесты. Flowgrind использует libpcap для автоматического сброса трафика для
качественный анализ.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Это две важные группы параметров: параметры контроллера и параметры потока. Словно
следует из названия, параметры контроллера применяются глобально и потенциально влияют на все потоки, в то время как
параметры, специфичные для потока, применяются только к подмножеству потоков, выбранных с помощью -F опцию.

Обязательные аргументы для длинных опций является обязательным для коротких опций.

Общие кредита
-h, --Помогите[=ЧТО]
отобразить справку и выйти. Дополнительный WHAT может быть 'socket' для справки по сокету
опции или справка по генерации трафика

-v, --версия
распечатать информацию о версии и выйти

контроллер кредита
-c, --show-двоеточие=ТИП[,ТИП] ...
отображать в выходных данных столбец TYPE промежуточного интервала отчета. Допустимые значения для
ТИПЫ: 'interval', 'through', 'transac', 'iat', 'kernel' (все отображаются по умолчанию),
и 'блоки', 'rtt', 'задержка' (необязательно)

-d, --отлаживать
увеличить подробность отладки. Добавьте опцию несколько раз, чтобы увеличить детализацию

-e, --дамп-префикс=PRE
добавить префикс PRE к имени файла дампа (по умолчанию: "flowgrind-")

-i, --report-interval =#.#
интервал между отчетами, в секундах (по умолчанию: 0.05 с)

--лог-файл[=ФАЙЛОВ]
записывать вывод в файл журнала FILE (по умолчанию: flowgrind-'timestamp'.log)

-m отчет о пропускной способности в 2 ** 20 байт / с (по умолчанию: 10 ** 6 бит / с)

-n, --flows =#
количество тестовых потоков (по умолчанию: 1)

-o перезаписывать существующие файлы журналов (по умолчанию: нет)

-p не печатайте символьные значения (например, INT_MAX) вместо чисел

-q, --тихий
молчать, не выходить на экран (по умолчанию: выключено)

-s, --tcp-стек=ТИП
не определять единицы исходных стеков TCP автоматически. Принудительно установить ТИП, где
ТИП - это "сегмент" или "байт"

-w записывать вывод в файл журнала (так же, как --лог-файл)

Поток кредита
У всех потоков есть две конечные точки: источник и место назначения. Различие между источником
конечные точки назначения влияют только на установление соединения. При запуске потока
конечная точка назначения прослушивает сокет, и конечная точка источника подключается к нему. Для
Фактический тест - это не имеет значения, обе конечные точки имеют одинаковые возможности.
Данные могут быть отправлены в любом направлении, и многие параметры могут быть настроены индивидуально для
каждая конечная точка.

Некоторые из этих опций принимают конечную точку потока в качестве аргумента, обозначенного 'x' в опции
синтаксис. 'x' необходимо заменить на 's' для исходной конечной точки, 'd' на
конечная точка назначения или 'b' для обеих конечных точек. Чтобы указать разные значения для каждого
конечные точки, разделите их запятыми. Например -W s = 8192, d = 4096 устанавливает рекламируемый
окна до 8192 в источнике и 4096 в пункте назначения.

-A x использовать минимальный размер ответа, необходимый для расчета RTT
(такой же как -G s = p, C, 40)

-B x=# установить запрошенный буфер отправки в байтах

-C x остановите поток, если он испытывает локальную перегрузку

-D x=DSCP
Значение DSCP для байта заголовка IP типа обслуживания (TOS)

-E перечислять байты в полезной нагрузке вместо отправки нулей

-F #[,#] ...
Параметры потока, следующие за этим параметром, применяются только к данным идентификаторам потока. Полезно в
сочетание с -n чтобы установить определенные параметры для определенных потоков. Нумерация начинается
с 0, поэтому -F 1 относится ко второму потоку. С -1 можно ссылаться на весь поток

-G x=(q|p|g) :(C|U|E|N|L|P|W):#1:[#2]
активировать генерацию стохастического трафика и установить параметры в соответствии с используемыми
распределение. Для получения дополнительной информации см. Раздел «Варианты генерации трафика».

-H x=ВЕДУЩИЙ[/КОНТРОЛЬ[:PORT]]
тест от / до HOST. Необязательный аргумент - это адрес и порт для КОНТРОЛЯ.
подключение к тому же хосту. Конечная точка, которая не указана, считается
локальный

-J # использовать случайное семя # (по умолчанию: читать / DEV / urandom)

-I включить односторонний расчет задержки (без тактовой синхронизации)

-L вызовите connect () на тестовом сокете непосредственно перед началом отправки данных (поздно
соединять). Если не указано иное, в препарате устанавливается тестовое соединение.
фаза до начала теста

-M x сбрасывать трафик с помощью libpcap. Flowgrindd(1) должен запускаться как root

-N shutdown () каждое направление сокета после тестового потока

-O x=практического дополнительного обучения (OPT)
установите опцию OPT на тестовом разъеме. Для получения дополнительной информации см. Раздел
'Параметры сокета'

-P x не выполняйте итерацию с помощью select (), чтобы продолжить отправку, если размер блока не изменился
достаточно, чтобы заполнить очередь отправки (настойчиво)

-Q только обобщение, промежуточные интервальные отчеты не вычисляются (тихо)

-R x=#.#(z|k|M|G)(b|B)
отправлять с указанной скоростью в секунду, где: z = 2 ** 0, k = 2 ** 10, M = 2 ** 20, G =
2 ** 30, и b = бит / с (по умолчанию), B = байт / с

-S x=# установить размер блока (сообщения) в байтах (как -G s = q, C, #)

-T x=#.#
установить продолжительность потока в секундах (по умолчанию: s = 10, d = 0)

-U # установить размер буфера приложения в байтах (по умолчанию: 8192) обрезает значения, если используется с
стохастическая генерация трафика

-W x=# установить запрошенный буфер приемника (объявленное окно) в байтах

-Y x=#.#
установить начальную задержку перед тем, как хост начнет отправлять, в секундах

ТРАФИК ПОКОЛЕНИЕ ВАРИАНТ


Через вариант -G flowgrind поддерживает генерацию стохастического трафика, что позволяет проводить
помимо обычных массовых пакетов, также расширены возможности передачи данных с ограничением скорости и передачи данных типа "запрос-ответ".

Вариант стохастической генерации трафика -G принимает конечную точку потока в качестве аргумента, обозначенную
на 'x' в синтаксисе опции. 'x' необходимо заменить на 's' для источника
конечная точка, «d» для конечной точки назначения или «b» для обеих конечных точек. Однако обратите внимание
генерация двунаправленного трафика может привести к неожиданным результатам. Чтобы указать разные
значения для каждой конечной точки, разделите их запятыми.

-G x=(q|p|g) :(C|U|E|N|L|P|W):#1:[#2]

Параметр расхода:

q размер запроса (в байтах)

p размер ответа (в байтах)

g запрос межпакетного интервала (в секундах)

Распределения:

C постоянный (#1: ценность, #2: не используется)

U униформа (#1: мин, #2: Макс)

E экспоненциальный (#1: lamba - время жизни, #2: не используется)

N нормальный (#1: mu - среднее значение, #2: sigma_square - дисперсия)

L логнормальный (#1: zeta - значит, #2: sigma - стандартное устройство разработки)

P парето (#1: k - форма, #2: x_min - масштаб)

W Вейбулл (#1: lambda - масштаб, #2: k - форма)

Расширенные дистрибутивы, такие как weibull, доступны только при компиляции flowgrind
с поддержкой libgsl.

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

SOCKET ВАРИАНТ


Flowgrind позволяет установить следующие стандартные и нестандартные варианты розеток через опцию
-O.

Все параметры сокета принимают конечную точку потока в качестве аргумента, обозначенного 'x' в параметре.
синтаксис. 'x' необходимо заменить на 's' для исходной конечной точки, 'd' на
конечная точка назначения или 'b' для обеих конечных точек. Чтобы указать разные значения для каждого
конечные точки, разделите их запятыми. Более того, можно многократно сдавать одно и то же
конечная точка, чтобы указать несколько параметров сокета.

Стандарт гнездо кредита
-O x= TCP_CONGESTION =ALG
установить алгоритм управления перегрузкой ALG на тестовом сокете

-O x= TCP_CORK
установить TCP_CORK на тестовом сокете

-O x= TCP_NODELAY
отключить алгоритм Нэгла на тестовом сокете

-O x= SO_DEBUG
установить SO_DEBUG на тестовом сокете

-O x= IP_MTU_DISCOVER
установите IP_MTU_DISCOVER на тестовом сокете, если он еще не включен по умолчанию в системе

-O x= ROUTE_RECORD
установить ROUTE_RECORD на тестовом сокете

Нестандартный гнездо кредита
-O x= TCP_MTCP
установить TCP_MTCP (15) на тестовом сокете

-O x= TCP_ELCN
установить TCP_ELCN (20) на тестовом сокете

-O x= TCP_LCD
установить TCP_LCD (21) на тестовом сокете

ПРИМЕРЫ


Flowgrind
тестирование производительности localhost IPv4 TCP с настройками по умолчанию, как у flowgrind -H
b = 127.0.0.1 -T s = 10, d = 0. Демон flowgrind необходимо запустить на локальном хосте.

Flowgrind -H б = :: 1 / 127.0.0.1
То же, что и выше, но тестирование производительности TCP IPv6 на локальном хосте с настройками по умолчанию

Flowgrind -H s = host1, d = host2
массовая передача TCP между host1 и host2. Host1 действует как источник, host2 как
конечная точка назначения. На обеих конечных точках должен быть запущен демон flowgrind. В
используются параметры потока по умолчанию, с продолжительностью потока 10 секунд и потоком данных
от host1 к host2

Flowgrind -H s = host1, d = host2 -T s = 0, d = 10
то же, что и выше, но вместо этого с потоком, отправляющим данные в течение 10 секунд с хоста 2 на
host1

Flowgrind -n 2 -F 0 -H s = 192.168.0.1, d = 192.168.0.69 -F 1 -H s = 10.0.0.1, d = 10.0.0.2
настроить два параллельных потока, первый поток между 192.168.0.1 и 192.168.0.69, второй
поток между 10.0.0.1 и 10.0.0.2

Flowgrind -p -H s = 10.0.0.100 / 192.168.1.100, d = 10.0.0.101 / 192.168.1.101 -A s
настроить один поток между 10.0.0.100 и 10.0.0.101 и использовать IP-адреса 192.168.1.x
для контролируемого движения. Активировать минимальный ответ для расчета RTT

Flowgrind -i 0.001 -T s = 1 | задать расширенное ^S | Gnuplot -сопротивляться -e 'участок "-" через 3:5 линий
название «Пропускная способность» '
настроить один поток через устройство обратной петли и построить данные отправителя с помощью
гнуплота

Flowgrind -G s = q, C, 400 -G s = p, N, 2000,50 -G s = g, U, 0.005,0.01 -U 32000
-G s = q, C, 400: использовать постоянный размер запроса 400 байт
-G s = p, N, 2000,50: использовать нормальный распределенный размер ответа со средним значением 2000 байт и
отклонение 50
-G s = g, U, 0.005,0.01: использовать равномерно распределенный межпакетный зазор с мин. 0.005 с и
и максимум 10 мс
-U 32000: обрезать размер блока до 32 кбайт (необходимо для нормального распределения)

ТРАФИК СЦЕНАРИИ


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

Запрос Режимы секции мощности Стиль (HTTP),
Этот сценарий основан на работе в
http://www.3gpp2.org/Public_html/specs/C.R1002-0_v1.0_041221.pdf.

Flowgrind -M s -G s = q, C, 350 -G s = p, L, 9055,115.17 -U 100000
-M s: сбросить трафик на стороне отправителя
-G s = q, C, 350: использовать постоянный размер запросов 350 байт
-G s = p, L, 9055,115: использовать логнормальное распределение со средним значением 9055 и дисперсией 115 для
размер ответа
-U 100000: обрезать ответ до 100 кбайт

Для этого сценария мы рекомендуем сосредоточиться на RTT (чем ниже значения, тем лучше) и на сети.
Транзакции / с как метрика (чем выше значение, тем лучше).

Интерактивное Сессия (телнет)
Этот сценарий имитирует сеанс Telnet.

Flowgrind -G s = q, U, 40,10000 -G s = q, U, 40,10000 -O b = TCP_NODELAY
-G s = q, U, 40,10000 -G s = q, U, 40,10000: использовать единый распределенный запрос и ответ
размер от 40 до 10 КБ
-O b = TCP_NODELAY: установить параметры сокета TCP_NODELAY, используемые приложениями telnet

Для этого сценария полезными метриками являются RTT (чем ниже, тем лучше) и сетевые транзакции / с.
(выше - лучше).

Обменный курс Ограниченный (Потоковое Средства массовой информации)
Этот сценарий имитирует передачу видеопотока с битрейтом 800 кбит / с.

Flowgrind -G s = q, C, 800 -G s = g, N, 0.008,0.001
Используйте нормальный распределенный межпакетный промежуток со средним значением 0.008 и небольшой дисперсией
(0.001). В сочетании с размером запроса 800 байт средний битрейт примерно 800
кбит / с. Дисперсия добавлена ​​для имитации переменного битрейта, как будто это
используется в современных видеокодеках.

Для этого сценария IAT (ниже - лучше) и минимальная пропускная способность (выше - лучше) равны.
интересные метрики.

ВЫВОД КОЛОННЫ


Поток / конечная точка идентификаторы
# конечная точка потока, либо "S" для источника, либо "D" для пункта назначения

ID числовой идентификатор потока

начинать и конец
границы интервала измерения в секундах. Показанное время - это прошедшее
время с момента получения сообщения RPC для запуска теста с точки демонов
view

Применение слой метрика
через
передача полезной производительности конечной точки потока в течение этого интервала измерения,
измеряется в Мбит / с (по умолчанию) или МБ / с (-m)

сделкам
количество успешно полученных блоков ответа в секунду (мы называем это сетевым
транзакций / с)

Requ / resp
количество блоков запроса и ответа, отправленных в течение этого интервала измерения (столбец
отключено по умолчанию)

IAT блокировать время между прибытиями (IAT). Вместе с минимумом и максимумом
Отображается среднее арифметическое для этого конкретного интервала измерения. Если нет блока
получено в течение отчетного интервала, отображается 'inf'.

ДЛИ и RTT
Односторонняя и двусторонняя задержка блока, соответственно, задержка блока и двусторонний переход блока
время (RTT). Для обеих задержек минимальное и максимальное встречающиеся значения в этом
интервалы измерения отображаются вместе со средним арифметическим. Если нет блока,
соответственно, в течение этого отчетного интервала получено подтверждение блока, 'inf' - это
отображается. Как односторонняя, так и двусторонняя задержка блокировки отключены по умолчанию (см.
вариант -I и -A).

ядро метрика (TCP_INFO)
Все следующие специфические для TCP метрики получаются от ядра через TCP_INFO
вариант сокета на конец каждого отчетного интервала. Частоту дискретизации можно изменить с помощью
вариант -i.

cwnd (tcpi_cwnd)
размер окна перегрузки TCP (CWND) в количестве сегментов (Linux) или байтах
(ФриБСД)

сст (tcpi_snd_sshtresh)
размер порога медленного старта в количестве сегментов (Linux) или байтах (FreeBSD)

уак (tcpi_unacked)
количество неподтвержденных в настоящий момент сегментов, т. е. количество сегментов в полете
(FlightSize) (только для Linux)

мешок (tcpi_sacked)
количество выборочно подтвержденных сегментов (только Linux)

потерянный (tcpi_lost)
количество сегментов, которые считаются потерянными (только для Linux)

ретр (tcpi_retrans)
количество неподтвержденных ретранслируемых сегментов (только Linux)

удаленный (tcpi_retransmit)
количество триггеров повторных передач по таймауту повторной передачи (RTO) (только для Linux)

ебать (tcpi_fackets)
количество сегментов между SND.UNA и самым высоким выборочно подтвержденным
порядковый номер (SND.FACK) (только Linux)

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

RTT (tcpi_rtt) и ртвар (tcpi_rttvar)
Время приема-передачи TCP и его отклонение в мс

RTO (tcpi_rto)
время ожидания повторной передачи в мс

бкоф (tcpi_backoff)
количество откатов RTO (только для Linux)

ca состояние (tcpi_ca_state)
внутреннее состояние конечного автомата управления перегрузкой TCP, как реализовано в
Ядро Linux. Может быть одним из открытый, расстройство, КВР, выздоровление or от (Только Linux)

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

Расстройство
вводится при получении первого подряд дублирующего ACK или
выборочное подтверждение (SACK)

КВР вводится, когда уведомление от явного уведомления о перегрузке (ECN)
получено

Восстановление
вводится, когда три дублирующих ACK или эквивалентное количество SACK
получила. В этом состоянии процедуры контроля перегрузки и восстановления потерь, такие как
Выполняются Fast Retransmit и Fast Recovery (RFC 5861)

Убыток вводится, если истекает срок RTO. Снова контроль перегрузки и восстановление потерь
процедуры выполняются

SMSs и пмту
максимальный размер сегмента отправителя и максимальный размер блока передачи в байтах

внутренний Flowgrind состояние (только включен in отлаживать строит)
статус состояние потока внутри flowgrind для диагностических целей. Это кортеж из двух
значения, первое для отправки и второе для получения. В идеале состояния
как исходная, так и конечная точки потока должны быть симметричными, но поскольку
они не синхронизированы, они не могут изменяться одновременно. Возможные значения
составляют:

c Направление завершено отправка / получение

d Ожидание начальной задержки

f Состояние неисправности

l Активное состояние, ничего еще не передано и не получено

n Нормальная активность, некоторые данные были переданы или получены

o Поток имеет нулевую продолжительность в этом направлении, обмен данными не будет

АВТОРЫ


Первоначально Flowgrind был создан Даниэлем Шаффратом. Распределенное измерение
архитектура и расширенная генерация трафика были позже добавлены Тимом Коссе и
Кристиан Самсель. В настоящее время flowgrind разрабатывается и поддерживается Arnd Hannemann и
Александр Циммерманн.

Используйте flowgrind онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    NSIS: система установки со сценариями Nullsoft
    NSIS: система установки со сценариями Nullsoft
    NSIS (установка с поддержкой сценариев Nullsoft)
    System) является профессиональным открытым исходным кодом
    система для создания установщиков Windows. Это
    спроектирован таким образом, чтобы быть таким же маленьким и гибким
    как возможно ...
    Скачать NSIS: система установки Nullsoft со сценариями
  • 2
    авторизация
    авторизация
    AuthPass - это пароль с открытым исходным кодом
    менеджер с поддержкой популярных и
    проверенный Keepass (kdbx 3.x И kdbx 4.x ...
    Скачать авторизацию
  • 3
    Zabbix
    Zabbix
    Zabbix — это открытый корпоративный класс.
    исходное распределенное решение для мониторинга
    предназначен для наблюдения и отслеживания
    производительность и доступность сети
    серверы, устройства...
    Скачать Zabbix
  • 4
    KDiff3
    KDiff3
    Этот репозиторий больше не поддерживается
    и хранится в архивных целях. Видеть
    https://invent.kde.org/sdk/kdiff3 for
    новейший код и
    https://download.kde.o...
    Скачать KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX — это графический интерфейс для
    USB-загрузчик Ванинкоко, основанный на
    libwiigui. Он позволяет перечислять и
    запуск игр Wii, игр Gamecube и
    доморощенный на Wii и WiiU...
    Скачать USBLoaderGX
  • 6
    Жар-птица
    Жар-птица
    СУБД Firebird предлагает функции ANSI SQL
    & работает на Linux, Windows и
    несколько Unix-платформ. Функции
    отличный параллелизм и производительность
    & сила...
    Скачать Firebird
  • Больше »

Команды Linux

Ad