Melhor desempenho do servidor web para Python Django: Apache mod_wsgi ou Lighttpd fastcgi

4

Atualmente estou executando um site python / django de alto tráfego usando Apache e mod_wsgi. Espero que haja uma configuração de servidor da Web mais rápida, e ouvi um bom número de recomendações para o lighttpd e o fastcgi. Esta configuração é mais rápida do que o apache + mod_wsgi para servir páginas dinâmicas do Django (já estou convencido de que o lighttpd pode servir melhor para arquivos estáticos)? Os benchmarks online são mal conduzidos ou inconclusivos, então estou procurando algumas anedotas pessoais. Quais benefícios de arquitetura o lighttpd + fastcgi oferece? Eu entendo que lighttpd usa epoll e que um processo fastcgi será multithreaded. Além disso, ter dois processos separados, um para o lighttpd e outro para o interpretador python, será amplamente benéfico.

Estou ciente do tornado e sua capacidade de lidar com milhares de descritores de arquivos com muito menos threads usando epoll e retornos de chamada. No entanto, eu prefiro ficar com o django por enquanto.

Obrigado,

Ken

    
por BrainCore 24.09.2009 / 06:25

2 respostas

4

A sobrecarga do servidor Web nunca é o principal custo de uma solicitação dinâmica - as consultas ao banco de dados e os modelos complexos usam muito mais recursos e cada servidor web decente pode atender a centenas de solicitações por segundo, até mesmo manage.py runserver no django com um modelo vazio .

Basta escolher o servidor que você conhece melhor. Implantei com êxito um site em apache / mod_wsgi, consulte esta resposta para detalhes.

Além disso, "alto tráfego" é bastante subjetivo. Um número seria mais útil.

    
por 24.09.2009 / 12:20
0

Você pode ver o Magnum Py ( link ), que é um servidor da Web baseado em epoll que pode se comunicar com Django através da interface WSGI.

    
por 08.12.2009 / 14:20