Quantas solicitações meu servidor da Web deve ser capaz de manipular?

36

Não entrar 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 chegamos ao número de 70 solicitações por segundo (1000 solicitações com 100 usuários simultâneos), em uma página que está sendo carregada de 4 tabelas DB diferentes e fazendo alguma manipulação com os dados. Então, é uma página bastante pesada.

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

Mas isso é suficiente? Ou eu deveria me preocupar (contanto que X precise de um segundo)

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

    
por Ólafur Waage 14.05.2009 / 13:56

5 respostas

40

70 solicitações por segundo resultam em uma taxa por hora de 252.000 renderizadores de páginas / hora.

Se você considerar que a sessão de navegação média do seu site tem 10 páginas, poderá suportar 25.000 únicos / hora.

Provavelmente, você deve verificar esses números em relação à contagem de visitantes esperada, que deve estar disponível para as pessoas do lado comercial.

Muitos dos sites em que trabalho veem cerca de 50% do tráfego diário em um período de pico de aproximadamente três horas em cada dia. Se este for o caso do seu site (depende do tipo de conteúdo que você fornece e do público), então você deve ser capaz de suportar uma contagem de visitas únicas diárias de cerca de 150.000.

Estes são números muito bons; Eu acho que você deveria estar bem. É aconselhável examinar o cache de opcode e o ajuste de banco de dados agora, mas lembre-se: a otimização prematura é a raiz de todo o mal. Monitore o site, procure pontos de acesso e espere o tráfego crescer antes de passar por um dispendioso esforço de otimização para um problema que talvez você não tenha.

    
por 14.05.2009 / 16:45
5

Eu usei duas ferramentas para assistir ao desempenho de meus servidores apache no passado.

Um é munin , que representa graficamente todos os tipos de coisas, incluindo o número de instâncias do apache, o 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ê.

O segundo é simplesmente a página de status do servidor apache ( link ) que permite Eu vejo o estado de cada conexão, juntamente com quantas conexões livres estão disponíveis a qualquer momento.

    
por 14.05.2009 / 16:50
1

Sugiro que se preocupe apenas se considerar que a sua aplicação estará muito ocupada quando atingir o solo. A página em questão provavelmente será atingida com tanta força? Mais difíceis? Menos? Se você não tem ideia, eu suspeito que é improvável que seja um problema no início. Se for a sua página mais lenta, você saberá um lugar para procurar se tiver que otimizar o sistema mais tarde.

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

    
por 14.05.2009 / 14:17
0

Você afirma em um comentário que seu servidor pode manipular 2.900 solicitações por segundo em uma página vazia. Isso indica muito strongmente que não é o próprio servidor da Web - é o processamento.

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

    
por 14.05.2009 / 15:37
0

Depois de colocar seu site ao vivo, você também pode consultar o mod_top 1 que lhe dará uma visão em tempo real da carga atual no Apache. Eu mesmo não instalei, mas certamente parece ter mais informações e uma melhor distribuição de carga do que o status padrão do servidor Apache.

    
por 27.05.2009 / 14:39