Pergunta

Gostaria de perguntar-lhe qual é a melhor configuração para uma aplicação seguinte:

3,5 Web site

ASP.NET - usado como uma camada de apresentação, um monte de AJAX e JS. não vai bater o servidor muito.

ASP.NET WCF - sevice fornecendo todos os dados para a aplicação. É responsável pela validação, modelagem de dados / preparação e comunicação com o DB Server.

Banco de dados - SQL Server 2005 Std, alguma lógica é codificado no lado do servidor, como procedimentos armazenados. Alguns da lógica pode ser um consumidor pouco tempo. Na minha opinião ele é o mais recurso consumindo parte do aplicativo.

O site pode ter até 1.000 usuários por minuto. Podemos ter até 4 servidores na seguinte configuração: Processador Intel Xeon Quad Bi 8x 2.00+ GHz, 16 GB de RAM, SSD ou drives RAID.

O que é a melhor maneira de colocar partes da aplicação nos servidores físicos? Será que eles vão lidar com este tipo de carga?

Foi útil?

Solução

No aplicativo que você descreve, eu suspeito que gerenciamento de threads vai ser um grande problema. Jogando hardware para o problema pode não ser a melhor abordagem.

Em termos de particionamento, isso depende se você pode aproveitar coisas como notificações de cache e cache. Se cada chamada para o aplicativo tem para bater o DB e executar um procedimento armazenado longo, então você pode querer ter mais máquinas DB e menos servidores web front-end.

Este é um grande assunto. Em uma tentativa de dar uma resposta razoavelmente abrangente para exatamente esse tipo de pergunta, eu acabei escrevendo um livro sobre isso: Ultra-Fast ASP.NET:. Construir sites ultra-rápida e ultra-escaláveis ??usando ASP.NET e SQL Server

Outras dicas

O lugar menos escalável em qualquer aplicação é o servidor de banco de dados, você pode adicionar mais servidores web e de aplicações, mas você não pode replicar DB com a mesma facilidade que você vai beneficiar no longo prazo se DB não irá conter qualquer lógica especialmente qualquer longa duração lógica. Em muitas das aplicações fator limitante não é cpu mas a memória pensar em sessões de usuário se você armazenar 1MB de dados por usuário que você aplicações serão capazes de suportar sessões de usuários 64.000 silmantanius com vocês máquinas pode ser suficiente ou não. Ambos os problemas podem ser mitigados através da utilização de cache nível de aplicativo, mas isso pode fazer com que ele próprio conjunto de problemas, porque agora você confrontado com dados antigos. Para dimensionar locais de sessão com base você terá de usar a solução de balanceador de carga inteligente que suporta sessões de auto-adesivas, para as suas cargas muito provavelmente você vai precisar de balanceador de carga de hardware.

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