configurações TCP de baixa latência no Windows 2008 R2

4

Estou executando um software de terceiros em um servidor W2008. Este cliente se conecta a um servidor via TCP. Os tempos médios de ping entre os dois são de 1 ms. No entanto, quando eu verificar a conexão tcp no monitor de recursos para o aplicativo, ele mostra a latência como 20ms.

Eu executei a captura de pacotes na interface do lado do cliente e vi os tempos de confirmação em < 1ms. As configurações do tcp no lado do cliente são as seguintes:

Receive-Side Scaling State          : enabled 
Chimney Offload State               : automatic 
NetDMA State                        : enabled 
Direct Cache Acess (DCA)            : disabled 
Receive Window Auto-Tuning Level    : normal 
Add-On Congestion Control Provider  : ctcp 
ECN Capability                      : disabled 
RFC 1323 Timestamps                 : disabled 

Além disso, configurei o TcpNoDelay e o TcpAckFrequency como 1 no registro para a interface específica. A NIC tem o descarregamento ativado.

Como o monitor de recursos calcula essa latência TCP de 20 ms? Existem outras configurações de TCP no Win2008 que possam reduzir essa latência?

    
por user70303 10.02.2011 / 19:24

1 resposta

1

Então, para começar, o monitor de recursos / perfmon usa um sistema de medição diferente do que o wireshark etc usa, então seria por isso que a latência é diferente.

Sem entrar nas profundezas da API do Windows, a diferença é causada pelo pós-processamento e baixa prioridade.

Como a latência real é de 1 ms, não há outras configurações que você possa aplicar e não estou ciente de nenhuma alteração que você possa fazer para "corrigir" o perfmon da API do Windows para exibir a latência "correta" .

Se você gosta eu posso encontrar a razão exata por que perfmon é mais lento, mas com base em experiências anteriores razão acima é por isso.

    
por 16.03.2011 / 14:31