como determinar o número de usuários simultâneos que um aplicativo da Web pode manipular?

1

Tanto quanto eu sei, acho que o servidor web apache lida com várias solicitações através de uma combinação de multiprocessamento e multiencadeamento. Quer saber para uma aplicação php rodando um servidor web é apenas o apache que decide os usuários simultâneos que ele pode manipular ou também depende do aplicativo php. Se sim, então até que ponto?

    
por user26620 21.12.2009 / 11:53

2 respostas

3

Existe apenas uma maneira de conhecer , testando sob carga real.

Basicamente, você configura vários "clientes" que são rotulados para se comportar como usuários reais, mas podem executar muitas sessões simultaneamente. Faça isso por um período suficientemente longo, meça a carga (cpu, mem, rede, armazenamento), procure onde as coisas quebram - geralmente há um ponto de carga bastante claro sobre o qual você começa a obter sessões truncadas, tempos limite etc. - esse é o limite do seu servidor.

Você pode adivinhar e chegar perto, mas isso só será um palpite até que você tenha testado.

Ah, e a propósito, existem muitas empresas externas que se especializam em testes para você.

    
por 21.12.2009 / 12:01
0

link testes de wsgi , os mesmos problemas surgem quando lidando com webapps.

Quando você faz benchmark, você está usando uma conexão local, onde cada teste é considerado um cliente rápido? Eles estão fazendo postagens, uploads lentos, acessando páginas que você não esperava, testando seu mecanismo de autenticação, perdendo cookies, etc?

Seu servidor da web desempenha uma grande parte do gargalo, mas o código do aplicativo, como está escrito, como ele interage com o banco de dados, como o banco de dados reage às consultas, atualizações, etc., entram em cena. As coisas que você espera que funcionem enquanto benchmarking quebram de maneiras estranhas e misteriosas quando o tráfego atinge certos níveis. Mover parte da carga do servidor de aplicativos para servidores de conteúdo estático significa mais tempo para você.

Sua escolha do modelo de processamento do apache também tem muito a ver com as coisas. O Apache2-prefork é o que a maioria das pessoas usa para o mod_php, mas o apache2-mpm-worker / fcgid php pode ser mais rápido. O descarregamento de conteúdo estático para Varnish ou Nginx também pode aliviar parte da carga no seu servidor de aplicativos, o que gera tempo.

Tudo tem um impacto em algum lugar. A maioria dos problemas de desempenho do aplicativo da web que vi vêm do uso inadequado dos erros de backend ou de configuração do SQL no Apache.

    
por 17.04.2010 / 00:12

Tags