Пытаясь проанализировать пропускную способность стороннего приложения, мы собрали трассировку WPR на двух системах. Надо Система обнаружения вторжений Symantecs включен, другой - нет.
Много NDIS.SYS
- ndisInterruptDpc
вызовы функций, которые принимают > 100µs
.
За период 10s
: 1.966
фрагменты из 17.273 took
дольше чем 100µs
.
Microsoft рекомендует для ЦОД не работать дольше 100 микросекунд.
В Microsoft-Windows-TCPIP
провайдер показывает, что все использует TcpipSendSlowPath
.
Я пробовал читать о медленных / быстрых путях, но не совсем понимаю, что с этим делать. Все, что я могу найти об этом, касается маршрутизаторов или специального оборудования, и я сомневаюсь, что ETW может получить от них какие-либо данные. (если он не передан где-нибудь в запросе / ответе?).
В Stacks
вид показывает пакеты, проходящие через IDSvia64.sys
который является драйвером Symantecs для проверки пакетов. Намного больше нужно выделить и освободить Pool
память из-за этого.
psping
тесты на пропускную способность - это фактор 10 помедленнее.
С учетом сказанного: воспринимаемая производительность стороннего приложения на обоих серверах сопоставима. Единственная ощутимая разница на сегодняшний день заключается в том, что тесты psping намного хуже в системе с IDS. Головоломка для меня ...
редактировать
по ссылке, предоставленной @Brian, вот как выглядит продолжительность DPC в системе с включенной IDS (зеленый) и в системе без IDS (синий)
Я почти уверен, что IDS отвечает за более длительную работу DPC. Если кто-нибудь может подсказать по второй части вопроса о количестве TcpipSendSlowPath
, там тоже может быть что-то стоящее.
Замечание о том, что количество DPC в системе с IDS намного больше.