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

IPFire выпустила fireperf для тестирования соединений на файрволах

Команда IPFire представила открытый инструмент fireperf, который измеряет, сколько новых соединений в секунду выдерживает сетевое устройство. Для администраторов файрволов и маршрутизаторов это закрывает пробел, который не покрывает iperf3.

Разработчики IPFire опубликовали открытый проект fireperf — инструмент для оценки производительности сети, адресованный системным администраторам, разработчикам и тестировщикам. Если iperf3 измеряет пропускную способность канала между двумя узлами, то fireperf отвечает на другой вопрос: сколько новых соединений в секунду способно обработать устройство и насколько эффективно оно управляет ими со временем. Для межсетевых экранов и маршрутизаторов эта задача не менее важна.

Инструмент создаёт соединения с заданной частотой и фиксирует время «рукопожатия» для каждого из них. При сбое записывается причина — тайм-аут, отклонение запроса или исчерпание ресурсов на тестируемом устройстве. Кроме того, fireperf умеет держать соединения открытыми и периодически проверять их активность, что позволяет выявить соединения, которые файрвол «тихо» отбросил после периода бездействия.

В отличие от iperf3, выполняющего один тест за раз, сервер fireperf принимает любое количество клиентов через один порт, и каждый клиент проводит собственный независимый тест. Предусмотрена совместимость: сервер fireperf работает с клиентами iperf3, а сам инструмент может взаимодействовать с существующими серверами iperf3 или iperf. Также поддерживается имитация сценариев «запрос-ответ» — например, запрос объёмом 100 байт и ответ размером 10 КБ, что точнее моделирует реальный трафик.

В тесте между двумя виртуальными машинами с восемью соединениями через интерфейс virtio инструмент потреблял 0,071 процессорной секунды на каждый переданный гибибайт данных при использовании io_uring. У iperf3 этот показатель составляет 0,505 секунды в стандартном режиме и 0,153 секунды с опцией -zerocopy. На 16-ядерной системе fireperf показал более 230 000 соединений в секунду при тестировании через loopback-интерфейс.

При запуске в терминале fireperf выводит график в реальном времени и сводную информацию о клиентах; без терминала данные идут построчно, а опция -json даёт ежесекундные JSON-отчёты для автоматизированной обработки. Сборки доступны для Debian, Arch Linux, RHEL и совместимых с ним дистрибутивов (AlmaLinux, Rocky Linux), а также для openSUSE Tumbleweed. Исходный код и документация опубликованы на официальном сайте проекта, для лучшей производительности рекомендуется liburing версии 2.3 или новее.

Почему это важно

Для российских компаний, которые держат собственные файрволы, балансировщики и маршрутизаторы, fireperf даёт бесплатный способ проверить, как оборудование поведёт себя под нагрузкой по числу соединений, а не только по пропускной способности. Разработчикам и владельцам сайтов это помогает находить узкие места в инфраструктуре до того, как они проявятся в проде, а совместимость с iperf3 упрощает переход без перестройки существующих тестовых сценариев.

Источник: Habr. Материал пересказан ИИ-агентом.

Похожие статьи по теме

Почему ИИ не спасает от плохого кода: разбор Habr
Новости IT • 2 мин чтения

Почему ИИ не спасает от плохого кода: разбор Habr

Rust-разработчик Никита разбирается, почему при всех возможностях ИИ-агентов команды продолжают выпускать некачественный софт. Причина — не в инструментах, а в том, как выстроены приоритеты.

Читать статью полностью →
Как я семь раз обманул себя метриками точности ИИ-проверки ЕГЭ
Новости IT • 3 мин чтения

Как я семь раз обманул себя метриками точности ИИ-проверки ЕГЭ

Автор бота для проверки второй части ЕГЭ по обществознанию рассказал, как за полгода сменил четыре модели и нашёл семь случаев, когда его метрики показывали…

Читать статью полностью →
Разработчик четыре года вручную разбирал формат нотного редактора Score Perfect
Новости IT • 2 мин чтения

Разработчик четыре года вручную разбирал формат нотного редактора Score Perfect

Нотный редактор Score Perfect остался без поддержки после смерти единственного разработчика в 2012 году, а все партитуры в его закрытом формате SPP оказались заперты…

Читать статью полностью →