it-swarm-pt.tech

Quantas solicitações meu servidor da web pode atender?

Não entrando em detalhes sobre as especificações, pois sei que não há uma resposta real para isso. Mas eu tenho feito testes de carga hoje com o comando ab no Apache.

E chegou ao número de 70 solicitações por segundo (1000 solicitações com 100 usuários simultâneos), em uma página que está carregando de 4 tabelas de banco de dados diferentes e fazendo alguma manipulação com os dados. Portanto, é uma página bastante pesada.

O servidor não é usado para mais nada por enquanto e a carga nele sou apenas eu, pois está em desenvolvimento. Mas o aplicativo será usado diariamente por muitos usuários.

Mas isso é suficiente? Ou devo me preocupar (contanto que mais de X solicite um segundo)

Estou pensando que não deveria me preocupar, mas gostaria de algumas dicas sobre isso.

41
Ólafur Waage

70 solicitações por segundo resultam em uma taxa horária de 252.000 renderizações de página/hora.

Se você presumir que a sessão média de navegação do seu site tem 10 páginas, é possível oferecer suporte a 25.000 únicos/hora.

Provavelmente, você deve verificar esses números com base na contagem esperada de visitantes, que deve estar disponível para as pessoas do lado comercial.

Muitos dos sites em que trabalho visualizam cerca de 50% do tráfego diário em um período de pico de aproximadamente 3 horas por dia. Se esse for o caso do seu site (depende do tipo de conteúdo que você fornece e do público-alvo), você poderá oferecer suporte a uma contagem diária única de visitas de cerca de 150.000.

Estes são números muito bons; Eu acho que você deveria ficar bem. É aconselhável analisar agora o cache do código de operação e o ajuste do banco de dados, mas lembre-se: a otimização prematura é a raiz de todo mal. Monitore o site, procure pontos de acesso e aguarde o crescimento do tráfego antes de realizar um esforço de otimização caro para um problema que você pode não ter.

45
Tim Howland

Eu usei 2 ferramentas para assistir ao desempenho dos meus servidores Apache no passado.

Um deles é munin, que representa graficamente todos os tipos de coisas, incluindo número de instâncias do Apache, número de conexões, memória disponível, uso do processador , etc - e me ajuda a determinar quando estou me aproximando de uma zona de perigo e por quê.

A segunda é simplesmente a página de status do servidor Apache ( http: // seu_servidor/status do servidor? Refresh = 1 ), que permite ver o estado de cada conexão, além de quantas conexões gratuitas estão disponíveis a qualquer momento.

6
Brent

Eu sugiro que você se preocupe apenas se você acha que seu aplicativo estará muito ocupado quando atingir o chão. É provável que a página em questão seja atingida com tanta força? Mais difíceis? Menos? Se você não tem idéia, eu suspeitaria que é improvável que seja um problema mais cedo. Se for a página mais lenta, você conhecerá um lugar para procurar se precisar otimizar o sistema posteriormente.

Também há muitas coisas que você pode fazer para ajustar a maioria dos servidores da Web e mecanismos de banco de dados para reduzir ainda mais o desempenho.

1
acrosman

Depois de colocar o site no ar, você também pode olhar para mod_top 1 , que fornecerá uma visualização em tempo real da carga atual no Apache. Eu não instalei ele mesmo, mas certamente parece ter mais informações e uma quebra de carga melhor do que o status padrão do servidor Apache.

0
George Hazlewood

Você declara em um comentário que seu servidor pode lidar com 2.900 solicitações por segundo em uma página vazia. Isso indica fortemente que não é o servidor da web em si - é o processamento.

Se você estiver usando PHP, considere um código de código como APC . Se o banco de dados for um gargalo, memcached também o ajudará.

0
ceejayoz