Я работаю над приложением AF_XDP, которое получает пакеты на интерфейсе eth0, обрабатывает их, а затем отправляет на интерфейс eth1. По сути, он пересылает пакеты с eth0 на eth1. Приложение использует два физических интерфейса и процессор примерно с 30 ядрами. Я хочу добиться максимально возможной производительности этого приложения.
Буду признателен, если вы прокомментируете, какой из следующих подходов является наиболее подходящим с точки зрения eBPF:
Запустите несколько однопоточных приложений AF_XDP на интерфейсах.
Создайте несколько сокетов на интерфейсе в одном приложении, при этом каждый сокет будет работать в отдельном потоке, а сокеты будут использовать общий UMEM.
Запустить несколько потоки для обработки пакетов в одном приложении. Мне кажется, что этот подход медленнее, чем варианты 1 и 2, поскольку обработка пакетов не требует сложной логики.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/793 ... f-xdp-ebpf
Высочайшая производительность при пересылке пакетов с AF_XDP eBPF ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение