Interpretando os rastreios do WPR ao tentar melhorar o rendimento da rede

3

Ao tentar analisar a taxa de transferência de um aplicativo de terceiros, coletamos um rastreio de WPR em dois sistemas. Um tem Sistema de Detecção de Intrusão da Symantec ativado, o outro não.

Após observações para o sistema com o sistema de detecção de intrusão ativado

  • Muitas chamadas de função NDIS.SYS - ndisInterruptDpc que levam > 100µs .
    Durante um período de 10s : 1.966 fragmentos de 17.273 took maior que 100µs .
    A recomendação da Microsoft para DPC é não excede 100 microssegundos .

  • O provedor Microsoft-Windows-TCPIP mostra que tudo está usando TcpipSendSlowPath .
    Eu tentei ler em caminhos lentos / rápidos, mas realmente não tenho idéia do que fazer com isso. Tudo o que posso encontrar sobre isso é sobre roteadores ou hardware dedicado e duvido que o ETW possa obter qualquer dado deles (a menos que seja passado de volta na solicitação / resposta em algum lugar?) .

  • A exibição Stacks mostra os pacotes passando pelo IDSvia64.sys , que é o driver da Symantec para inspeção de pacotes. Há muito mais alocação e liberação de Pool de memória por causa disso.

  • psping testes para largura de banda são um fator 10 mais lento.

Dito isto: o desempenho percebido da aplicação 3thparty em ambos os servidores é comparável. A única diferença tangível até o momento é que os testes de psping são muito piores no sistema com o IDS. Um conndo para mim ...

Perguntas

  • Como encontrar o culpado por levar muito tempo em DPC? Eu suspeito que o IDS está envolvido, mas eu não posso vincular o tratamento do DPC ao IDS (ou qualquer outra coisa).
  • Eu adoraria saber o que o caminho Lento realmente significa, qual impacto no desempenho ele pode ter e como resolvê-lo se possível / necessário.

Editar

seguindo o link fornecido por @Brian, é assim que a duração do DPC se parece no sistema com o IDS ativado (verde) e em um sistema sem IDS (azul)

  • por um período de 10s
  • executando uma tarefa conhecida por levar algum tempo

Estou bastante convencido de que o IDS é responsável pela maior duração das DPCs. Se alguém puder dar algumas indicações sobre a segunda parte da questão para as quantias de TcpipSendSlowPath , pode haver algo que valha a pena investigar também.

Uma nota sobre o fato de que a quantidade de DPCs no sistema com o IDS é muito maior.

  • A explicação mais fácil para isso é que o sistema foi usado no momento por outros (é difícil encontrar um slot com atividade mínima)
  • Eu posso imaginar as configurações da NIC tendo um papel nisso, mas eu não saberia onde procurar por (dependendo do tamanho do buffer, taxa de transferência, ... mais ISR e DPC sendo acionados)
  • outros (?) ...
por Lieven Keersmaekers 31.05.2018 / 12:19

0 respostas