IPFire представила fireperf для измерения производительности сети
Команда IPFire выпустила открытый проект fireperf — инструмент для измерения производительности сети, ориентированный на системных администраторов, разработчиков и тестировщиков.
01Что случилось
fireperf создаёт соединения с заданной частотой и фиксирует время выполнения рукопожатия для каждого из них, а при сбое записывает причину — тайм-аут, отклонение запроса или исчерпание ресурсов на тестируемом устройстве. Инструмент также поддерживает соединения открытыми и периодически проверяет их активность, что позволяет выявить соединения, отброшенные межсетевым экраном после периода бездействия.
Сервер fireperf может одновременно принимать любое количество клиентов через один порт, и каждый клиент проводит собственный независимый тест. Предусмотрена совместимость с iperf3: сервер fireperf работает с клиентами iperf3, а сам fireperf может взаимодействовать с существующими серверами iperf3 или iperf. Также инструмент позволяет имитировать сценарии «запрос-ответ», например запрос объёмом 100 байт и ответ размером 10 КБ.
При тестировании между двумя виртуальными машинами с восемью соединениями через интерфейс virtio инструмент потреблял 0,071 процессорной секунды на каждый переданный гибибайт данных при использовании io_uring; у iperf3 этот показатель составляет 0,505 секунды в стандартном режиме и 0,153 секунды с опцией -zerocopy. На 16-ядерной системе fireperf показал более 230 000 соединений в секунду при тестировании через loopback-интерфейс. Сборка доступна в виде пакета для Debian, Arch Linux, RHEL и совместимых дистрибутивов, а также для openSUSE Tumbleweed; для наилучшей производительности рекомендуется liburing версии 2.3 или новее.
02Почему это важно
Инструмент адресован администраторам межсетевых экранов и маршрутизаторов, которым нужно оценивать, сколько новых соединений в секунду обрабатывает устройство и насколько эффективно оно управляет ими во времени.
Источники
- Хабр Новости habr.com