Como eu posso otimizar o uso de recursos do sistema para muitos sites Django baseados em gunicorn com baixo tráfego?

2

Meu servidor é um Linode com 768MB de RAM. É o lar de cerca de oito pequenos sites de tráfego baixo do Django, operados por Nginx, Supervisor e Gunicorn. Atualmente, cada site tem sua própria conta de usuário do Linux, com os arquivos do site no diretório inicial do usuário. Cada usuário possui um processo de supervisor de desenvolvimento e produção que executa o Gunicorn com 1 a 4 funcionários.

Somos uma pequena empresa de consultoria e, para o futuro próximo, estaremos adicionando cada vez mais sites Django pequenos e de baixo tráfego ao servidor. Quando olho para o topo, tenho um monte de processos Gunicorn em execução e a RAM está quase completamente esgotada. Por um tempo, nós tínhamos apenas 512MB de RAM e estava quase completamente esgotado, mas quando adicionamos mais RAM, os processos do Gunicorn ocuparam apenas mais memória RAM.

Existe uma boa maneira de otimizar este servidor para tantos sites de baixo tráfego (como mil acessos por mês) do Django? Eu optei por uma configuração Nginx sobre o Apache porque eu li que era melhor em recursos do sistema, mas parece que a configuração atual não está usando recursos de forma muito eficaz.

    
por davidscolgan 14.07.2012 / 03:50

1 resposta

1

Honestamente, desde que você não tenha um desempenho ruim, não se preocupe.

Ultimamente, muitos produtos estão sendo usados no gerenciamento de memória do Linux, que não libera a memória no que diz respeito ao monitoramento porque os dados são armazenados em cache, prontos para serem acessados muito mais rapidamente na próxima vez que forem necessários. O Linux gerencia a memória para que, se um processo precisar de mais, ele seja alocado adequadamente, limpando o cache quando necessário.

Então, basicamente, se você não tem muita atividade de swap, tudo é bom.

    
por 14.07.2012 / 05:24