Pergunta

Quanto tráfego um servidor web pode suportar?Qual é a melhor maneira de ver se estamos além disso?

Eu tenho um aplicativo ASP.Net que possui algumas centenas de usuários.Alguns aspectos dele exigem bastante uso do processador, mas até agora nos saímos bem com apenas um servidor para executar o SqlServer e o site.Ele está executando o Windows Server 2003, 3,4 GHz com 3,5 GB de RAM.

Mas ultimamente comecei a notar lentidão em vários momentos, e fiquei me perguntando qual é a melhor maneira de determinar se o servidor está sobrecarregado pelo uso do aplicativo ou se preciso fazer algo para consertar o aplicativo (não realmente quero gastar muito tempo procurando pequenas otimizações se estou esperando muito da caixa).

Foi útil?

Solução

O que você precisa é de algumas informações sobre Planejamento de capacidade..

O planejamento de capacidade é o processo de planejamento de crescimento e previsão de períodos de pico de uso para atender aos requisitos de capacidade do sistema e do aplicativo.Envolve testes extensivos de desempenho para estabelecer a utilização de recursos do aplicativo e a taxa de transferência de transações sob carga.Primeiro, você mede o número de visitantes que o site recebe atualmente e quanta demanda cada usuário coloca no servidor e, em seguida, calcula os recursos de computação (CPU, RAM, espaço em disco e largura de banda da rede) necessários para suportar o atual e o futuro. níveis de uso.

Outras dicas

Se você tiver acesso a algumas ferramentas de criação de perfil (como as da edição Team Suite do Visual Studio), você pode tentar configurar um servidor de teste e executar algumas solicitações sintéticas nele e ver se há alguma parte específica do código demorando excessivamente. para correr.Você provavelmente deveria verificar alguns gráficos de uso de CPU e memória ao longo do tempo antes de fazer isso, para ver se pode ser isso.(Um número semelhante à "média de carga" do UNIX pode ser uma métrica útil, não sei se o Windows tem algo parecido.Basicamente, o número médio de threads que desejam tempo de CPU para cada intervalo de tempo.)

Verifique também o óbvio: se você não está ficando sem largura de banda.

Meça, meça, meça.Rico Mariani sempre diz isso e tem razão.

Meça req/s, RAM, CPU, sessões, etc.

Você pode criar uma estratégia de cache (cache de saída, cache de dados, cache de dependências e assim por diante).

Veja também como está o seu SQL Server...os índices são um bom lugar para começar, mas não a única coisa a se observar.

Nesse hardware, um aplicativo .NET deve ser capaz de atender cerca de 200 a 400 solicitações por segundo.Se você tem apenas algumas centenas de usuários, duvido que esteja vendo pelo menos 2 solicitações por segundo, então acho que você tem muita capacidade nessa caixa, mesmo com o SQL Server em execução.

Sem saber todos os detalhes, eu diria não, você não verá nenhuma melhoria de desempenho ao adicionar servidores.

A propósito, se você não estiver usando o Cache de saída, eu começaria por aí.

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