«Ставка на любовь»: кто участвовал в первом выпуске третьего сезона и какая пара ушла Филипп Киркоров станцевал на столе для диджея на презентации клипа «Луиза» История Ивана Капкова: эмиграция, внутренний кризис и трагический финал Девушка Kizaru заявила о фиктивном браке рэпера и насилии В Роспотребнадзоре назвали основные меры профилактики ВИЧ-инфекции Team Spirit сохранила первое место в рейтинге HLTV Как диагностировать сетевые проблемы в Kubernetes Британский актер погиб после падения в вольер с тиграми BrandSecurity: число нарушений прав на бренды выросло на 56,9% Филипп Киркоров представил клип «Луиза», снятый в Каппадокии ZCode раздаёт 500 млн токенов для моделей GLM-5.3 Пять способов сделать макияж губ в коричневой гамме SHAMAN выпустил юмористическое видео в поддержку песни «Я русский мужик» К2Тех и «КуйбышевАзот» внедрили 1С:ERP на отечественной инфраструктуре Полина Трубенкова рассказала о расходах в браке и споре из-за дома МЭА понизило прогноз мировой добычи нефти на 2026 и 2027 годы Yandex Cloud восстановил доступ к 90,47% данных после атак на инфраструктуру Toyota протестировала штурвал NEO Steer для водителей с ограниченной подвижностью ног Александр Ревва раскритиковал мрачную шутку Михаила Галустяна в день рождения Cadillac выпустит 252 юбилейных Escalade-V с индивидуальными VIN
Лента новостей
Технологии

Fireperf измеряет скорость обработки новых соединений на сетевых устройствах

Открытый инструмент fireperf дополняет iperf3 тестами на число новых соединений, работу долгоживущих сессий и сценарии «запрос–ответ».

Fireperf измеряет скорость обработки новых соединений на сетевых устройствах
Фото: Хабр

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

В отличие от популярных инструментов вроде iperf3, fireperf фокусируется на количестве новых соединений, которое устройство способно обработать за секунду, а также на стабильности этой работы во времени. Программа создаёт соединения с заданной частотой и измеряет продолжительность рукопожатия для каждого из них. При сбоях фиксируется причина: тайм-аут, отклонение запроса или исчерпание ресурсов на тестируемом устройстве.

Инструмент умеет оставлять соединения открытыми и периодически проверять их активность. Это помогает обнаружить сессии, которые файрвол или маршрутизатор незаметно удаляет после определённого периода бездействия. Такой сценарий позволяет тестировать не только момент установления соединения, но и работу устройства с большим числом долгоживущих сессий.

Сервер fireperf может одновременно принимать любое количество клиентов через один порт. Каждый клиент при этом выполняет независимый тест. Для пользователей существующей инфраструктуры предусмотрена совместимость с iperf3: сервер fireperf принимает подключения его клиентов, а сам инструмент может работать с серверами iperf3 и iperf.

Моделирование реального трафика

Помимо проверки чистой пропускной способности, fireperf поддерживает шаблоны «запрос–ответ». Например, тест может имитировать отправку запроса размером 100 байт и получение ответа объёмом 10 КБ. Это позволяет приблизить нагрузку к реальным приложениям, где обмен данными обычно состоит из множества небольших запросов и более крупных ответов.

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

При запуске в терминале программа отображает график в реальном времени и сводные сведения о клиентах. Если интерактивный терминал недоступен, результаты выводятся построчно. Для автоматизированной обработки предусмотрен режим -json, формирующий отчёты в формате JSON с интервалом в одну секунду.

Готовые пакеты fireperf доступны для Debian, Arch Linux, RHEL и совместимых дистрибутивов, включая AlmaLinux и Rocky Linux, а также для openSUSE Tumbleweed. Для максимальной производительности разработчики рекомендуют использовать библиотеку liburing версии 2.3 или новее.

Источник