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