Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, seguinte eu possuo uma duvida
Eu tenho um servidor web com as seguintes caracteristicas:
Vamos supor que temos um projeto bem simples em php (esse não é o original, mas cabe muito bem neste exemplo), aonde o usuario entre em uma determinada pagina e o sistema faça uma contagem de 0 até 3 milhoes:
for ($i = 0; $i <= 3000000; $i++) {
echo "Numero atual: ".$i;
}
é claro que isso consome bastante memoria do servidor e processamento, neste caso eu vou impor a cada usuario que entra na minha plataforma, um limite de processamento, vamos colocar um limite de 2 MB para cada usuario:
ini_set('memory_limit', '2095M'); // 512MB menos 2 MB
Acredito eu que 2 MB já são mais do que o suficiente para fazer aquele loop sem muitos problemas de demora, não?
Então vamos lá, quantos usuarios simultaneos minha plataforma teria que ter para um ultimo usuario sentir uma demora?
256 usuários simultaneos chegariam no limite da minha memoria, e se um usuario a mais entrar, eu não sei o que poderia acontecer.
Tambem nao sei se com a entrada de um novo usuario, o php iria reformular o memory_limit de uma forma que todos os usuarios usem 1 MB de memoria limite para caber mais um usuario e assim sucessivamente ate chegar o ponto em que cada usuario use 1kb da memoria por causa dos tantos usuarios que estão usando. é assim?
Alem da memoria acredito que eu tenha que me preocupar com o processamento da CPU, fazendo uma pesquisa na internet achei este topico
Lá ele diz que: Um pequeno sono vai reduzir drasticamente o uso da CPU e complementa, 1 segundo para CPU é um monte de tempo para fazer outra tarefa. Sabendo disso ele recomendou o uso de sleep()/usleep()
Para isso vamos dar um pequeno sono de 0.5 segundos a cada loop do nosso foreach:
for ($i = 0; $i <= 3000000; $i++) {
echo "Numero atual: ".$i;
usleep(500000);
}
Acredito que isso funcione e um sono de 0.5 segundos não vá fazer muita diferença na hora do processamento.
Perfeito, agora chegou a hora de saber:
Carregando comentários...