Desempenho da chamada de procedimento remoto (RPC) em uma rede local

2

Usamos um banco de dados que possui programas cliente e servidor separados e eles se comunicam entre si usando o RPC. Temos um computador executando o Windows Server 2003 SP2 e seis estações de trabalho executando o Windows 7 Pro 32bit. A rede é uma rede simples de 100Mbps com um comutador de rede.

O computador servidor e duas das estações de trabalho possuem placas-mãe Gigabyte G31M-ES2L que possuem controladores de rede Atheros integrados. As outras workstations possuem placas-mãe Gigabyte H61MA-D2V que possuem controladores de rede Realtek integrados.

Estamos descobrindo que o desempenho do banco de dados é muito bom para os computadores com os NICs Atheros, mas muito ruim para os computadores com as NICs Realtek.

Pensando que o problema estava relacionado ao próprio programa de banco de dados, decidi testar o desempenho do protocolo RPC usando o programa RpcPing.exe.

Eu tenho usado o seguinte comando para calcular quanto tempo leva para fazer 1000 RPCs para vários computadores na rede:

rpcping -u 10 -a conecta -s [endereço ip] -i 1000

Meus resultados, em média, são os seguintes:

Atheros para qualquer Atheros: 200-250ms Atheros para qualquer Realtek: 800-1000ms Realtek para qualquer Atheros: 800-1000ms Realtek para qualquer Realtek: 1100-1200ms

Os resultados são os mesmos, independentemente de o sistema operacional ser Windows Server 2003 ou Windows 7.

Como teste, instalei o Windows XP em uma das placas com um Realtek NIC e descobri que obteria 200-250ms de comunicação com qualquer Atheros NIC e 800-1000ms se comunicando com qualquer computador com Windows 7 com um Realtek NIC. Eu também testei uma instalação básica do Windows 7, apenas para ter certeza de que nenhum programa estava interferindo, e os resultados estavam ruins como de costume.

Eu tentei os drivers de NIC mais recentes, bem como várias versões anteriores e descartei qualquer problema físico com a rede. Eu também testei em outras redes e ocasionalmente encontrei resultados semelhantes aos meus. Certamente não faz diferença se é uma rede megabit ou gigabit.

Então, por favor, alguém pode explicar por que o desempenho do RPC é tão ruim para o Windows 7 com essas NICs de chipsets Realtek?

    
por Matt Robson 21.08.2012 / 19:13

1 resposta

2

Enviei um e-mail para a Realtek há mais de uma semana, mas nunca esperei uma resposta. Surpreendentemente eles acabaram de voltar para mim. Eles me pediram para instalar o driver do Windows XP no Windows 7. Isso corrigiu o problema de desempenho do RPC, mas quebrou o acesso à Internet.

Eles então me pediram para reinstalar o driver do Windows 7 e tentar desabilitar 'Moderação de interrupção' nas configurações avançadas da página de propriedades da NIC. Isso resolveu isso!

Aparentemente, desativar 'moderação de interrupção' aumenta o desempenho de sua placa de rede ao custo de uso extra da CPU.

Eu presumo que eu tenha perdido essa configuração quando passei por testar cada um deles, ou talvez uma certa combinação dessas configurações faça com que a desativação da 'moderação de interrupção' não tenha efeito. Independentemente disso, é classificado agora.

O interessante é que os chipsets Atheros têm essa configuração ativada, mas não sofrem com o problema de desempenho do RPC.

Obrigado a quem respondeu. Eu aprecio você ter tempo para oferecer sugestões.

    
por 22.08.2012 / 18:01