Não é possível localizar os limites TCP do Windows 2012

2

Eu tenho um servidor VPS executando o Windows 2012 R2 que é usado com um software que faz cerca de 15.000 conexões em um minuto. Percebi alguns atrasos e outros problemas com o VPS e decidi atualizar para um servidor dedicado.

Especificações do VPS: "4 vCores 3.1 GHz, 8GB Ram, SSD, conexão de 100 MB" Especificações dedicadas: "Xeon E5-1620 v2 de 3,7 GHz, 64 GB de RAM, conexão de 1 gbit"

Instalei o Windows 2012 R2 nele e notei uma diminuição dramática de velocidade no software. Ele estava atingindo apenas cerca de 5.000 conexões por minuto. Eu pensei que poderia ser porque isso estava em um HDD em vez de um SSD, então eu configurei um RAMDisk. Houve melhora zero no desempenho. Comecei a analisar as limitações do TCP, achando que o contêiner VPS que foi configurado automaticamente para mim pode ser diferente das minhas configurações. Eu não consegui encontrar muito. Eu adicionei uma tonelada de opções para os parâmetros TCP no registro, e ainda não vejo diferença.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "TcpTimedWaitDelay"=dword:0000001e "MaxUserPort"=dword:0000fffe "TcpNumConnections"=dword:00fffffe "TcpMaxDataRetransmissions"=dword:00000005

O software se conecta a um único endereço IP, através de múltiplas portas (~ 100 portas).

Não tenho certeza de onde procurar agora. Todos os testes de velocidade mostram que o servidor dedicado é significativamente mais rápido que o VPS, mas o VPS, com uma conexão mais lenta e hardware menos potente, pode alcançar conexões mais rápidas por minuto.

Qualquer direção para onde eu possa olhar mais longe será apreciada.

    
por Tedd Johnson 13.12.2016 / 01:51

1 resposta

0

Tente as próximas alterações ( mais detalhes ).

  1. Abra um prompt de comando do administrador em% windir% \ System32 \ inetsrv \
  2. Execute o comando abaixo para atualizar o atributo appConcurrentRequestLimit para um número adequado (5000 é o padrão no IIS7 +)

appcmd.exe set config /section:system.webserver/serverRuntime /appConcurrentRequestLimit:100000

  1. Abra% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet.config (Framework64 para processos de 64 bits)
  2. Configure Exemplo

    <?xml version="1.0" encoding="UTF-8" ?> <configuration> <runtime> <legacyUnhandledExceptionPolicy enabled="false" /> <legacyImpersonationPolicy enabled="true"/> <alwaysFlowImpersonationPolicy enabled="false"/> <SymbolReadingPolicy enabled="1" /> <shadowCopyVerifyByTimestamp enabled="true"/> </runtime> <startup useLegacyV2RuntimeActivationPolicy="true" /> <system.web> <applicationPool maxConcurrentRequestsPerCPU="20000" /> </system.web> </configuration>

por 02.04.2018 / 21:51