Я испытываю стресс-тестирование своего прокси-сервера UDP на машине с 8 логическими процессорами. Около 14 тысяч клиентов UDP один из процессоров (CPU 4) начинает пикировать, а пропускная способность UDP (как показано диспетчером задач) падает до нуля. Я использовал WPR для записи использования процессора во время всплеска, а WPA показывает, что CPU 4 обрабатывает в два раза больше фрагментов DPC/ISR (~ 11K), как и все другие процессоры (~ 5K каждый). Самый длинный фрагмент DPC выполнялся в течение 232 миллисекунд, следующие 5 фрагментов DPC выполнялись в течение более 100 миллисекунд, а следующие 57 выполнялись между 1 и 90 миллисекундами.WPA показывает NIC-драйвер DPC-фрагмента, работающий на 232 миллисекунда
Фрагмент определяется как «период времени, в течение которого DPC или ISR выполнялись бесперебойно». (см. https://msdn.microsoft.com/en-us/library/windows/hardware/jj679884.aspx)
Корпорация Майкрософт рекомендует, чтобы фрагменты DPC работали не более 100 микросекунд! (см. https://msdn.microsoft.com/en-us/library/windows/hardware/ff546551(v=vs.85).aspx)
bxvbda.sys является модулем (Broadcom NetXtreme II GigE VBD) и um_bdrv_dpc является функцией для всех этих длинномерных фрагментов DPC.
Итак, мой вопрос: правильно ли я интерпретирую данные WPA для ЦОД?
Я думаю, что вы правильно интерпретируете данные. Если бы вы поделились трассировкой, экспертам было бы проще сказать наверняка. Использование CPU (выборка) должно показывать, что делает драйвер во время этих длинных DPC. В конечном счете вам нужно поговорить с Broadcom. Дайте им трассировку и скажите им, чтобы они исправили своего водителя. –