Pergunta

A discussão de Dual vs.Quadcore é tão antigo quanto os próprios Quadcores e a resposta geralmente é "depende do seu cenário".Então aqui o cenário é um servidor Web (Windows 2003 (não tenho certeza se x32 ou x64), 4 GB de RAM, IIS, ASP.net 3.0).

Minha impressão é que a CPU em um servidor Web não precisa ser TÃO rápida porque as solicitações geralmente são bastante leves; portanto, ter mais núcleos (mais lentos) deve ser uma escolha melhor, pois recebemos muitas solicitações pequenas.

Mas como não tenho muita experiência com balanceamento de carga do IIS e como não quero gastar muito dinheiro apenas para descobrir que fiz a escolha errada, alguém que tenha um pouco mais de experiência pode comentar se deve ou não Mais núcleos mais lentos ou menos mais rápidos é melhor?

Foi útil?

Solução

Para algo como um servidor web, dividir as tarefas de manipulação de cada conexão é (relativamente) fácil.Eu digo que é seguro dizer que servidores web são um dos usos mais comuns (e resolvidos) de código paralelo.E como você pode dividir grande parte do processamento em vários threads discretos, mais núcleos realmente beneficiam você.Esta é uma das grandes razões pelas quais a hospedagem compartilhada é possível.Se softwares de servidor como IIS e Apache não pudessem executar solicitações em paralelo, isso significaria que cada solicitação de página teria que ser distribuída em fila... provavelmente tornando o tempo de carregamento insuportavelmente lento.

É também por isso que sistemas operacionais de servidor de última geração, como o Windows 2008 Server Enterprise, suportam algo como 64 núcleos e 2 TB de RAM.Esses são aplicativos que podem realmente tirar vantagem de tantos núcleos.

Além disso, como cada solicitação provavelmente tem baixa carga de CPU, você provavelmente poderá (para alguns aplicativos) usar núcleos mais lentos.Mas, obviamente, ter cada núcleo mais rápido pode significar ser capaz de realizar cada tarefa com mais rapidez e, em teoria, lidar com mais tarefas e mais solicitações de servidor.

Outras dicas

Usamos o Apache no Linux, que bifurca um processo para lidar com solicitações.Descobrimos que mais núcleos ajudam nosso rendimento, pois reduzem a latência dos processos que aguardam para serem colocados na fila de execução.Não tenho muita experiência com o IIS, mas imagino que o mesmo cenário se aplique ao seu pool de threads.

Mark Harrison disse:

Não tenho muita experiência com o IIS, mas imagino que o mesmo cenário se aplique ao seu pool de threads.

Na verdade - mais núcleos = mais threads em execução simultaneamente.O IIS é inerentemente multithread e tira vantagem disso facilmente.

Quanto mais melhor.À medida que as linguagens de programação começam a se tornar mais complexas e abstratas, mais poder de processamento será necessário.

Atleat Jeff acredita Quadcore é melhor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top