В официальном документе HP об их адаптерах QLogic (fka Broadcom) NetXtreme II , который включает в себя конкретный сетевой адаптер , который я тестирую, говорится (стр. 7), что производительность их небольших пакетов для пакетов до 256 байт / пакет превышает 5 000 000 пакетов / с.
В моих тестах с приложением, в котором я отключил всю обработку, кроме простой части приема UDP, я могу обрабатывать только до 120000 пакетов / сек. Пакеты равномерно распределены по 12 группам многоадресной рассылки.
Я заметил, что есть одно ядро (из 12 ядер на каждом из двух разъемов), нагрузка которого постепенно увеличивается, когда я увеличиваю скорость передачи UDP, и достигает максимума около 120 000 . Но я не знаю, что делает это ядро и почему. В моем приложении это не является узкополосным узким местом, поскольку не имеет значения, запускаю ли я один экземпляр приложения для всех групп многоадресной рассылки или 12 экземпляров, каждый из которых обрабатывает одну группу многоадресной рассылки. Таким образом, узкое место не мое приложение приемника.
MSI включен (проверяется с помощью представления «ресурсы по типу» в диспетчере устройств ), а RSS также включен в настройках сетевого адаптера с 8 очередями. Так что же цепляется за это ядро? Все функции разгрузки NIC в настоящее время включены, но отключение их не помогло.
Так где же может быть узкое место?
Детали системы:
- ProLiant BL460c Gen9
- Intel Xeon E5-2670 v3 (2 х 12 ядер)
- Сетевая карта HP FlexFabric 10Gb, 2 порта, 536FLB
- Windows 2012 R2