Ola Renato,
De acordo com a documentacao do mod_python [1] CGI é bem mais lento
que mod_python, mas nao ha comparacao entre mod_python e fastcgi. Nao
tenho o mod_python instalado para comparar, até porque entendo que a
performance do fastcgi está ótima.
Veja tres testes que fiz agora, num servidor Xeon Quad Core com dois
processadores L5335 @ 2.00GHz, 4 GB de RAM e HD SAS 10K.
Teste 1 100 requests, 5 por vez em
http://rfdev.org/: 95% dos
requests em até 36ms (36/1000 segundos)
Teste 2: 200 requests, 20 por vez em
http://rfdev.org/: 90% dos
requests em até 1,3 segundos, 95% em até 8 segundos, 100% em até 12
segundos
Teste 3: 500 requests, 50 por vez
http://rfdev.org/: 80% dos requests
em até 33ms (33/1000 segundos); 90% em até 4 segundos, 95% em até 10
segundos, 100% em até 23 segundos.
Teste 4: 6000 requests, 50 por vez
http://rfdev.org/: 99% dos requests
em até 26segundos.
O teste 4 comprova a eficiencia do sistema. Pode atender até 6000
requests a pagina inicial em 25 segundos, ou mais de 12 mil por
minuto. Se as visitas nesse ritmo durarem 60 minutos por dia , um site
teria uma marca estrondosa de 720 mil visitantes por mes (apenas nessa
hora de pico) usando apenas 2 dos nucleos dos 8 processadores do
servidor. Isso sem cache algum. É claro que num ambiente
compartilhado geralmente se um site usar mais de 1% ou 2% dos recursos
do servidor, estará ultrapassando o termo de uso...
Um site nessas proporcoes deve algum servidor de cache.
Notem que esse teste contempla apenas o tempo que o processador leva
para processar o codigo e retornar html, a maioria do tempo que os
visitantes levam para baixar o site é tempo de download nao apenas do
html mas dos css, imagens, etc.
A conclusao é: o fastcgi é eficiente.
Nao estou dizendo que o mod_python é menos eficiente ou mais. Estou
dizendo que o fastcgi é suficiente em ambiente compartilhado.Um site
com 50 mil visitas (as vezes menos, dependendo da implementacao) mes
deve usar um servidor dedicado para garantir performance em qualquer
horario.
Alem disso, o fastcgi ganha do mod_python em ambiente compartilhado em
um aspecto, isolar os processos.
O mod_python não isola os processos, sendo que se seu código ler ou
gravar um arquivo, este será feito pelo usuário do Apache, ou seja,
não há proteção nativa contra outros usuários lerem seus arquivos.
Neste cenário, para gravação, altera-se o owner/grupo de um diretório
para o usuário do apache, usualmente nobody através do comando chown
nobody:nobody /home/usuario/dirdegravacao - sendo que somente o root
pode usar o comando chown.
[1]
http://www.modpython.org/live/current/doc-html/intr-performance.html
> Muito bom! Só tenho uma dúvida, por que não Django com mod_python? Usar o
> FastCGI não diminui a performance?
>
> Estou para colocar um projeto no ar (meu 1o com o Django) e gostaria de
> informações sobre performance. Esse projeto é uma loja virtual com
> aproximadamente 1000 visitas diárias. Rodá-lo com FastCGI pode prejudicar de
> alguma forma? Tenho interesse de hospedá-lo agora com a TeHospedo mas
> gostaria de ver isso antes...
>
> Obrigado!
>
> Renato
>
> 2008/2/5 RafaelCDB <
rafa...@gmail.com>:
> > produtohttp://tehospedo.com.br/djangocolocaremosamanhã mesmo uma introdução
> > > explicando o que é o Django.
>
> > > Voces podem ter certeza que os grandes e medios provedores nao entram
> > > usualmente em sites de concorrentes especializados como o PyTown e por
> > > isso a importancia de um dos maiores provedores como a TeHospedo
> > > entrar no jogo.
>
> > > Estou a disposicao da lista para discutir o assunto e desmistificar um
> > > pouco o mercado de hospedagem de sites do Brasil.
>
> > > Um grande abraco,
>
> > > Roberto Bertó
http://tehospedo.com.br-hospedagem de sites (agora com