Estou executando o Server2016 em duas VMs com IIS instalado, usando NLB para balancear o tráfego e config/ssl compartilhado. Minhas velocidades de upload parecem limitadas a 256 KB/s (2 MB). Minha conexão com a internet é fibra gigabit.
Fiz alguns testes para tentar isolar o problema. Criei um aplicativo da Web .net simples com um botão de upload e envio e carreguei um arquivo de 28 MB.
Quando coloquei o aplicativo na minha caixa IIS em https://domain.tld/upload , demorou 1,9 minutos de acordo com o chrome dev tools , que é aproximadamente 256 KB novamente.
Eu usei o Visual Studio para fazer isso, então executei o aplicativo na minha máquina desktop Win 10 via IIS Express e abri a porta aleatória através do meu roteador, e o upload levou 761 ms, que é aproximadamente ~ 37 MB/s
Repeti esses testes algumas vezes e obtive praticamente os mesmos resultados. Dado que estou fazendo upload e download da mesma caixa, estou realmente usando ~ 74 MB/s-ish, ou 30% do meu upload e download teórico de gigabit cada. Portanto, sinto que não é um problema do ISP.
Também tentei quebrar o cluster NLB e rotear todo o tráfego para apenas uma caixa, mesmo resultado.
Alguma idéia de por que o IIS é tão lento?
Postando isso caso alguém esteja curioso.... o problema era o NLB.
https://blogs.technet.microsoft.com/netgeeks/2017/07/13/the-nlb-deployment-reference-all-you-need-to-know-to-implement-and-deploy-microsoft-network- balanceamento de carga/
Para o tráfego de saída, não é grande coisa, mas você precisa fazer alguns ajustes na rede para que funcione "corretamente".
Após testes adicionais, ao carregar um arquivo grande para nosso cluster IIS, veríamos um desempenho de rede terrível em outras máquinas/VMs no mesmo switch, portanto, isso pareceria confirmar o problema de inundação.
Na minha situação particular, no meu ambiente de trabalho, os peeps da rede disseram "não" a qualquer mudança na infraestrutura de rede, incluindo a habilitação do IGMP.
Como queríamos apenas dois servidores para alta disponibilidade, decidimos criar um cluster de failover de dois nós com um disco compartilhado para uma testemunha e um disco compartilhado para configuração compartilhada do IIS e SSL centralizado. Não é ativo-ativo, mas podemos manter o tempo de atividade durante o patch, etc. Sei que não é recomendado que o IIS faça um cluster, mas na ausência de um balanceador de carga de hardware ou de uma rede que você possa configurar corretamente, isso terá que fazer :)