Experimente ativar o RSS e Mecanismo de Descarregamento de TCP :
netsg int tcp set global rss=enabled
netsh int tcp set global chimney=enabled
Eu quero ajustar a pilha TCP do Windows 7 para velocidade em um ambiente de LAN.
Um pouco de informação de fundo: Eu tenho um Citrix XenServer configurado com o Windows 2008R2, Windows 7 e Debian Lenny com o Citrix kernel, máquinas Windows tem ferramentas instaladas o processo iperf
server está sendo executado em host diferente, também Debian Lenny . Os servidores estão ociosos, os testes foram repetidos algumas vezes para confirmar os resultados.
Enquanto o teste com iperf
2008R2 pode atingir cerca de 600-700Mbps sem nenhum ajuste, mas não consigo encontrar nenhum guia ou conjunto de parâmetros que façam com que o Windows 7 alcance algo acima de 150Mbps sem alteração no tamanho da janela TCP usando o parâmetro -w
para iperf
.
Eu tentei usar netsh
autotuining
a disabled
, experimental
, normal
e highlyrestricted
- nenhuma alteração.
A alteração de congestionprovider
não faz nada, assim como rss
e chimney
.
A configuração de todas as configurações disponíveis para os mesmos valores do host do Windows 2008R2 não ajuda.
Para resumir:
iperf -w 65536
: 400-500Mbps Embora a falta de 400Mbps no desempenho eu culpo a porcaria da Realtek NIC no host XenServer (eu posso fazer ~ 980Mbps do meu laptop para o servidor iperf) isso não explica porque o Windows 7 não consegue atingir um bom desempenho sem ajuste manual tamanho da janela no nível do aplicativo.
Então, como ajustar o Windows 7?
Experimente ativar o RSS e Mecanismo de Descarregamento de TCP :
netsg int tcp set global rss=enabled
netsh int tcp set global chimney=enabled
Pode ser um driver de rede diferente no Windows 2008R2 versus Windows 7. Além disso, o xenserver sempre fornece o mesmo nic virtual para o Windows 2008R2 e o Windows 7? Porque se for diferente, um driver diferente será carregado.
Pode haver algumas diferenças de desempenho.
EDITAR: Acabei de lembrar que o windows 7 por padrão tem buffers de envio / recebimento muito pequenos. Em alguns aplicativos que eu estava desenvolvendo, descobri que no Windows 7 era algo patético como 8kB. Sob o Ubuntu Linux é em torno de 120kB. Você pode ler em algum lugar que o limite é 64kB. Isso é realmente incorreto para versões posteriores do Windows. Eu descobri que pode ser configurado para até 1MB ou mais. Embora pouco aumento de desempenho seja notado quando é tão grande.
Esse link fornece alguns parâmetros de ajuste de tcp no registro que se aplicam ao sistema inteiro. Esteja ciente de que muitas dessas opções podem ser substituídas pelos próprios aplicativos.
Tente aumentar o tamanho da janela e os buffers de envio / recebimento. Espero que essas configurações do registro no link ainda se apliquem no Windows 7.
MTU? link
TCP Autotuning (que você já está descartado), MTU que já foi endereçado e MMCS (programação de classes multimídia) são geralmente as grandes diferenças. Como o MMCS ainda não foi abordado, tente desativá-lo.
Certifique-se de que o escalonamento automático da sua janela tcp esteja desativado se você estiver na velocidade da LAN ou próximo dela.
As instruções estão disponíveis aqui: link
Você não deve ver o driver Realtek dentro do Windows como uma máquina virtual no Citrix XenServer. Se você fizer isso, isso significa que você não tem o XenTools instalado. A NIC Realtek que você vê é uma emulada fornecida pelo serviço QEMU dentro do Dom 0 (domínio 0). Após a instalação do sistema operacional Windows, antes de fazer qualquer outra coisa, especialmente a instalação do aplicativo, você precisa instalar o XenTools. Além disso, a velocidade é codificada após a instalação do XenTools (conforme observado no Guia do Usuário da VM), pois não há limite para a velocidade em um dispositivo virtual.