Obtendo um novo servidor

2

Meu chefe me disse que podemos obter um novo servidor da Web se for realmente necessário. Eu não sei se isso é realmente necessário, então eu decidi perguntar aos que provavelmente sabem.

O site tem o IIS 6.0, bem como o Apache instalado. O IIS está hospedando apenas um aplicativo, que é um aplicativo de pesquisa longo (consome muitos segmentos).

A máquina atual é um Windows 2003 com duas CPUs (provavelmente uma física, mas duas lógicas).

Temos cerca de 3.000 visitantes únicos por dia.

Quando você digita o endereço e pressiona enter, às vezes leva mais de um minuto para uma carga inicial.

Eu tentei ajustar o IIS aumentando os atributos maxWorkerThreads, maxIoThreads e outros modelos de processo, mas sem muita utilidade.

Existe algum uso na obtenção de uma máquina melhor? Quanto melhor? Alguma sugestão?

Alguma sugestão que possa ajudar e não incluir a compra de uma nova máquina?

EDIT: Estas são as informações atuais do sistema

Computador: CPU Intel (R) Xeon (R) 5130 a 2.00 GHz, 2.00 GB de RAM

Sistema operacional: Microsoft Windows Server 2003, Standard Edition, Service Pack 2

Por favor, deixe-me saber se você precisar de outras informações em relação ao sistema.

    
por pzelenovic 21.04.2011 / 00:27

5 respostas

1

Se você pode mudar para um novo servidor de 6 núcleos ou mais, com 12 GB de memória moderna, novos discos, um sistema operacional de servidor de 64 bits mais recente e as versões mais recentes de todos os requisitos de código, -20 vezes o aumento da velocidade global, talvez mais na verdade.

    
por 21.04.2011 / 00:52
1

Isto é um pouco atrevido, mas tendo visto os problemas de software do Noob em este post no StackOverflow Eu realmente sugiro contra qualquer necessidade real de atualizar o servidor. Particularmente como noob mencionou que ele não excede 50% dos tempos de CPU.

O problema que você enfrenta (eu acho) é que seus primeiros pedidos mudam para o código de retorno de chamada assíncrona de 60.000 ms do seu software.

Eu acho que o que você precisa fazer é alterar o software para que, na primeira solicitação, você passe os resultados diretamente de volta, sem assistir ao sistema de arquivos. Recupere os dados atuais e poste de volta o mais rápido possível para obter o código.

Nos post-ups assíncronos, implemente seu software como está.

Você pode descobrir se a página está sendo solicitada na primeira vez ou como resultado de uma postagem, usando o Propriedade Page.IsPostBack .

Isso deve permitir que seus visitantes obtenham a página em cerca de 1 a 5 segundos do que eu vi do seu código e, em seguida, segure apenas os retornos de chamada assíncronos para o tempo limite de 60 segundos.

Desculpas por sequestrar um encadeamento de falha de servidor com uma resposta stackoverflow = (

    
por 22.04.2011 / 13:07
0
  1. Descubra seu gargalo, verifique a utilização da CPU, RAM, rede, E / S de disco
  2. Existe um banco de dados para esse aplicativo, ele é local para o servidor / na rede ou uma rede remota?

Poste esta informação para um melhor feedback dos outros.

    
por 21.04.2011 / 02:52
0

Não parece que você tenha uma carga alta o suficiente devido ao tráfego.

Primeiramente, vejo se há algo que eu possa fazer para melhorar o código ou descobrir o que realmente atrasa as coisas. Um minuto de resposta geralmente indica um longo tempo de execução. Comprar um novo servidor imediatamente pode estar atirando no próprio pé. Um novo servidor pode ou não melhorar muito seu desempenho.

Eu também verificaria sua conexão com o servidor se você estivesse testando remotamente e não através de uma LAN / Localhost e obtendo tais tempos de resposta.

Hoje em dia, é mais provável que as pessoas recomendem uma atualização de hardware (saída mais barata e fácil), o que é bastante correto. No entanto, é importante ver se fizemos tudo certo para que uma atualização de hardware se beneficie mais.

Se você não consegue consertar a aplicação (ou parece bem) por qualquer razão ou todas as otimizações terem sido feitas, e a rede parece ok então sua única escolha é atualizar o hardware para o qual você precisa ver o uso de recursos para um carregamento de página. O servidor usa mais memória ou CPU. É possível que outros aplicativos estejam competindo por recursos, você pode iniciar o monitor de recursos / desempenho e ver o padrão?

Espero que ajude a lhe dar mais coisas para verificar

    
por 21.04.2011 / 04:17
0

Não compre uma caixa maior

A veiculação da Web (ao contrário da veiculação de banco de dados) obtém muito mais benefícios da adição de vários servidores pequenos no lugar de um grande servidor - e, como você já está realizando várias sondagens longas sobre HTTP, isso é especialmente verdadeiro. Cada vez mais os problemas se tornam aqueles do número de conexões abertas, o número de processos em execução, o tamanho dos buffers de rede, a taxa na qual o sistema pode alternar contextos ...

Então, sair e gastar, digamos, US $ 4k em dois servidores proporcionará uma solução significativamente mais rápida do que gastar muito mais em um único servidor.

Existe um enorme benefício adicional - digamos que a disponibilidade do seu servidor é de 99% - assumindo que não há dependências compartilhadas, então a disponibilidade para 2 nós é de 100-100 * (0,01 * 0,01) = 99,99% - é quase uma centena de vezes mais confiável.

Embora seja possível que você possa acelerar o seu sistema atual de forma massiva ajustando-o, precisaríamos saber muito mais sobre a natureza da carga de trabalho e a configuração atual - e, mesmo assim, isso exigiria muito trabalho e testes para obter uma solução ideal - existem alguns bons livros sobre o assunto - leia alguns deles.

Tendo dito isso, às vezes, atualizar (ou adicionar de preferência) o hardware é a única solução - e muitas vezes pode ser a solução mais econômica antes de você ter esgotado o esforço de ajuste.

    
por 21.04.2011 / 15:00