Já faz alguns dias que estou tentando descobrir como resolver esse problema. Antes de tudo, estou executando um site com uma visualização média de página diária de 350.000. Anteriormente, todo o gerenciamento de anúncios (rastreamento de cliques e impressões que cada anúncio exibia) e conteúdo eram exibidos em um único servidor com a seguinte especificação:
Servidor1 SO: Windows 2008 R2 de 64 bits CPU: Intel® Core ™ i5 - 4 núcleos RAM: 8 GB Armazenamento: 2 discos rígidos de 1 TB Largura de banda: 10 TB por mês
Para melhorar a velocidade do site, decidi separar o script de gerenciamento de anúncios para outro servidor dedicado, porque temos mais de 15 anunciantes para 30 anunciantes por página.
Servidor 2 SO: Windows 2008 R2 de 64 bits CPU: Intel® Core ™ i5 - 4 núcleos RAM: 4 GB Armazenamento: 2 discos rígidos de 300 GB Largura de banda: 10 TB por mês
O problema
O problema é que Server 1
pode lidar com o conteúdo e o sistema de anúncios. Agora, tiro o sistema de anúncios e o coloco em Server 2
. Server 2
mal pode veicular apenas o sistema de anúncios.
Teste
- Primeiro, movi 75% dos anúncios para
Server 2
. E, em seguida, execute um ping ao servidor:ping -t xxxxx
. [Eu fiz o ping por 10 minutos e seu padrão semelhante a seguir como abaixo]
Resposta de xxxxx bytes = 32 tempo = 290ms TTL = 116 Resposta de xxxxx bytes = 32 tempo = 289ms TTL = 116 Resposta de xxxxx bytes = 32 tempo = 320ms TTL = 116 Resposta de xxxxx bytes = 32 tempo = 286ms TTL = 116 Resposta de xxxxx bytes = 32 tempo = 286ms TTL = 116 Resposta de xxxxx bytes = 32 tempo = 348ms TTL = 116 Resposta de xxxxx bytes = 32 tempo = 284ms TTL = 116
- Então, mudei 100% dos anúncios para
Server 2
. Em seguida, execute um ping no servidor novamente. [Eu fiz o ping por 10 minutos e seu seguinte padrão semelhante ao abaixo]
Resposta de xxxxx bytes = 32 tempo = 290ms TTL = 116 A solicitação expirou Resposta de xxxxx bytes = 32 tempo = 320ms TTL = 116 Resposta de xxxxx bytes = 32 tempo = 286ms TTL = 116 A solicitação expirou A solicitação expirou Resposta de xxxxx bytes = 32 tempo = 284ms TTL = 116
Tentativas
- Aumentar
MaxUserPort
eTcpNumConnection
- Reinicie o servidor
- Aumente o IIS
Max Instances
eInstance MaxRequests
Recurso do servidor
- Apenas 10% -15% da conexão de rede é usada
- Apenas 10% -15% da CPU é usada
- Apenas 25% da memória é usada
fonte
Respostas:
Bem, vamos começar. Isso é mais longo.
Você totalmente julgou mal os fatos aqui apresentados. O Windows - mesmo o desatualizado 2008 R2, que você deve atualizar o mais rápido possível - é completamente capaz de lidar com um volume que meu telefone celular não tem problema em lidar.
Então, isso deixa três possíveis áreas de problemas:
Instalação. Seus drivers podem ser ruins. Dado que você executa um sistema operacional desatualizado - quão bons são seus drivers? Atualize-os - isso pode causar todos os tipos de problemas.
Rede. Isso parece seriamente "Meu carro está muito lento, por favor me ajude a acelerar" quando o problema é que você passa a maior parte do tempo em um engarrafamento e reclamação sobre o tráfego não se mover. Não é um problema de ajuste de carro. O tráfego de 10 TB não diz nada sobre o congestionamento da rede. Observe as estatísticas de tráfego de sua rede na NIC e, em seguida, reaja de acordo - se elas não atingirem a velocidade que deveriam ser ... o seu provedor gastou demais. Simples assim.
Código. Pode ser que você precise de mais RAM (o computador está ocupado trocando para a RAM em vez de processá-la) ou a codificação de baixa qualidade está usando toda a sua CPU a um nível que faz com que a pilha TCP no nível do kernel não reaja adequadamente (sim, as respostas ICMP são tão baixas). Isso seria brutal - mas é outra maneira de verificar. Também pode ser que você sobrecarregue os discos acessando-os com muita frequência, em vez de armazenar em cache na RAM, mas de alguma forma não vejo isso levando a pings perdidos. Porém, qualquer problema aqui não é algo que um administrador possa resolver - você precisa jogar o hardware nele, ou pegar um pedaço de pau e bater no programador até que ele o conserte (se for um erro de nível "estúpido" que consome o desempenho - caso contrário, é muito mais difícil obter ganhos sérios e pode ser apenas a sua necessidade de hardware mais robusto).
Definitivamente não requer ajuste de janelas - uma janela bem configurada pode oferecer muito mais do que isso. Meus servidores de arquivos regularmente - por períodos mais longos - fornecem 4-6gigabit a partir de uma configuração relativamente padrão.
Agora, todos os números que você fornece não dizem nada a sério.
O último ponto é bastante provável - pacotes descartados são um bom indicador disso. E isso não será visível para você.
Meu conselho .... desligue qualquer coisa em uma máquina por um momento, faça um teste de velocidade externo com um arquivo estático grande. Aposto que você encontra congestionamentos mais altos.
Tudo o que você fez até agora - maxuserport, tcpnumconnection, reiniciar o servidor, brincar com as configurações do IIS - está totalmente desligado e não faz nada no melhor lugar. Bater um martelo em um carro lento nunca conserta nada - especialmente se o carro estiver lento porque está em um engarrafamento. Gostaria de desfazer todas as alterações e começar a analisar o problema, não apenas o seu servidor. Eu apostaria no congestionamento da rede no momento.
fonte
even the outdated 2008 R2 which you should update ASAP
- Vamos, TomTom, se controle. 2008 R2 ainda está bem dentro de suporte base e um longo caminho fora de ir para fora do Suporte Estendido que é em 2020 eu acredito ...Os pings são externos aos dois servidores? Nesse caso, tente o ping do servidor um para o servidor dois. Se os resultados forem totalmente diferentes de quando executar o ping externamente, isso mostra que o problema pode não estar relacionado ao servidor dois. Além disso, verifique no monitor de recursos o comprimento da fila de disco para as unidades e o tempo ativo - são mais algumas informações que podem destacar um problema.
fonte