[Python] Deploy con nginx e proxy_pass

Alessandro Dentella sandro a e-den.it
Mar 24 Dic 2013 09:07:04 CET


Ciao a tutti,

ho bisogno di capire una configurazione di un webs server nginx di un
cliente che usa proxy_pass passando come destinatario

    upstream produzione {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
        ...
    }
    proxy_pass http://produzione;
    

Quello che vorrei capire è come funziona e se è configurabile il meccanismo
di assegnazione della richiesta ai vari server.

Il problema nasce dal fatto che hanno una applicazione fatta con tornado ma
con chiamate non asincrone, ed una base di codice che si sono sviluppati
negli anni e che non hanno il coraggio/determinazione di cambiare.
il 99% delle funzioni prende meno di 1 secondo ma acunin prendono anche 10
secondi fino a 25 e questo è accettabile.

Il problema nasce dal fatto che in alcuni casi sperimentano dei blocchi.

La mia sensazione (e qui paleso la mia ignoranza in merito) è che nginx
faccia round robbin fra i 10 processi esistenti e non stia a guardare se
hanno terminato o meno la precedente richiesta. Esiste un modo di forzare
uno schema per cui vengano serviti solo i processi che non hanno in corso
una elaborazione?

NB: non esiste un problema di troppo carico, il server è sostanzialmente
    sottosfruttato, il sito non ha un carico elevato

Sono graditi anche puntatori a letture illuminanti...

grazie
sandro
*:-)


Maggiori informazioni sulla lista Python