executa muitas aplicações web em python sem rejeitar o processador

1

Eu preciso executar muitos aplicativos da web em Python (principalmente o Django, mas não todos eles) em um servidor. Atualmente estou executando-os com o modo uwsgi emperor (eu acho ... só tenho todas as configurações em /etc/uwsgi/apps-enabled/ ) com essa configuração:

[uwsgi]
thread=3
master=1
module = ...
chdir = ...
socket = ...
logto = ...
uid = ...
gid = ...
chmod = ...
single-interpreter = true
enable-threads = true

(As duas últimas linhas são obrigatórias para o New Relic)

O problema é que existem muitos desses aplicativos e na maioria das vezes há apenas um ou dois que são usados. Talvez haja uma maneira de executá-los para minimizar a consumação do tempo do processador por aplicativos não utilizados? No momento, mesmo que ninguém esteja usando nenhum dos aplicativos, o nível de carga pode ser simplesmente maior que 1,0.

    
por valya 20.06.2012 / 13:24

1 resposta

1

Tente adicionar

cheap = true

idle = 60

isso colocará instâncias no "modo barato" (somente o mestre será executado) após 60 segundos de inatividade. Eles vão reaparecer após o primeiro pedido.

Se você está em um kernel linux recente, você pode querer experimentar o ksm (verifique a página inicial do wiki do uWSGI)

    
por 21.06.2012 / 07:45