Біла папір продавця говорить: 5Mpps немає проблем. Я вже б'є в стіну зі швидкістю 120 кп / с. Де вузьке місце?


17

Компанія 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

2
Ймовірно, всі переривання rx і tx обробляються одним ядром. Я мало знаю про Windows, але для налаштування рівномірних IRQ слід налаштувати спорідненість SMP.
Ксав'є Лукас

Відповіді:


13

RSS також увімкнено в налаштуваннях NIC, з 8 черг.

Що, на жаль, не означало, що RSS використовується, як

netsh int tcp show global

показав:

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : disabled

Після запуску (btw без перезавантаження)

netsh int tcp set global rss=enabled

RSS почав працювати, і навантаження, що колись накопичувалася на одному поганому ядрі, тепер рівномірно розподіляється по багатьох ядрах на одному з 2 вузлів NUMA.

Я не перевірив, чи це дозволить мені обробляти рекламовані навантаження Mpps, але стеля була піднята достатньо, щоб оцінити те, що мені потрібно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.