Flowgrind
Flowgrind — инструмент для тестирования и бенчмаркинга, позволяющий измерять пропускную способность и другие параметры протокола TCP. Он был изначально разработан для изучения производительности и поведения различных реализаций TCP в беспроводных mesh-сетях[1].
В отличие от аналогичных программ, таких как Iperf или Netperf, Flowgrind реализует распределённую архитектуру, при которой измерение пропускной способности и других метрик происходит между серверными процессами flowgrind. Клиент Flowgrind предназначен для планирования таких измерений и сбора данных.
Благодаря этой архитектуре и изначальной ориентации на беспроводные mesh-сети Flowgrind поддерживает:
- разделение измеряемого и управляющего трафика (например, измерение беспроводной производительности без влияния управляющего трафика);
- одновременное измерение между любым количеством хостов с запущенным сервером flowgrind (например, для моделирования взаимных помех на беспроводной сети);
- однонаправленные, двунаправленные и сложные тесты типа «запрос-ответ» (для моделирования различных сценариев использования и протоколов);
- поддержку захвата пакетов (например, для последующего подробного анализа трафика).
Flowgrind позволяет пользователям индивидуально настраивать параметры протокола (например, алгоритм управления перегрузкой) для каждой соединённой пары. Это даёт возможность исследовать влияние настроек на утилизацию сети и их конкуренцию друг с другом.
В отличие от большинства кроссплатформенных инструментов тестирования, помимо метрик на уровне прикладного слоя, Flowgrind может отображать метрики транспортного уровня, которые обычно доступны только внутри стека TCP/IP. Например, в Linux это включает оценку времени кругового обхода (RTT) и размер окна перегрузки ядра.
Что важно знать
| Flowgrind | |
|---|---|
| Тип | управление пропускной способностью |
| Разработчик | The Flowgrind team |
| Написана на | C |
| Операционные системы | Linux, FreeBSD, macOS |
| Последняя версия | 0.8.0 (19 сентября 2016) |
| Лицензия | GPLv3 |
| Сайт | flowgrind.github.io |


