Будет ли интеграция с DPDK полезной с точки зрения производительности для сервера DNS/DHCP/DNSSEC?
DPDK, кажется, обеспечивает впечатляющее повышение производительности для определенных приложений, но я не думаю, что серверы выиграют почти так же, как такие вещи, как маршрутизаторы / коммутаторы.
Я не видел никаких упоминаний о том, что это было сделано или работало, поэтому мне просто интересно, стоило ли бы работать над этим.
1 ответ
DPDK сам по себе обеспечивает доступ к устройству только уровня 2 (т. Е. Ethernet). Таким образом, вам сначала нужно будет построить стек Уровня 3 (т.е. IP) и Уровня 4 (т.е. TCP/UDP). Вы можете использовать KNI, чтобы обойти это, но я не думаю, что (несколько небольшие) преимущества в производительности помогут в этом случае.
Даже после получения всех этих уровней это все еще, вероятно, не очень поможет, потому что шансы на то, что пакеты попадают в приложение (большая вещь, которую оптимизирует DPDK), вряд ли будут узким местом в чем-то вроде DNS или DHCP (если, возможно, они не были очень простые, простые реализации).
Некоторые другие предостережения включают необходимость выделять как минимум целое ядро только для DPDK, и в большинстве случаев DPDK берет на себя весь интерфейс, то есть вы не можете использовать его ни для чего другого.