Domanda

Sono in esecuzione Django FastCGI come filettato via flup, servito da lighttpd, comunicando tramite prese.

Qual è l'utilizzo della CPU previsto per ogni thread FastCGI a vuoto? All'avvio, ogni thread funziona a utilizzo della CPU 3-4% per un po ', e poi sfila a circa il 0,5% nel corso di un paio d'ore. Essa non affonda sotto di questo livello.

E 'questo l'utilizzo della CPU molto più normale? Devo alcuni bug nel mio codice che causa il ciclo di inattività per richiedono più l'elaborazione di quanto dovrebbe? Mi aspettavo il processo per utilizzare senza CPU misurabile quando era completamente inattivo.

Non sto facendo nulla ridicolmente complicata con Django, sicuramente niente che dovrebbe richiedere l'elaborazione estesa. Mi rendo conto che questo non è un sacco di carico, ma se si tratta di un bug presentai, mi piacerebbe risolvere il problema.

È stato utile?

Soluzione

Ho guardato questo su Django esecuzione come FastCGI sia Slicehost (Django 1.1, Python 2.6) e Dreamhost (Django 1.0, Python 2.5), e posso dire questo:

L'esecuzione del comando top mostra i processi utilizzano una grande quantità di CPU per l'avvio per ~ 2-3 secondi, poi scendere fino a 0 quasi subito.

L'esecuzione del comando ps aux dopo aver avviato l'applicazione Django mostra qualcosa di simile a ciò che si descrive, ma questo è in realtà fuorviante. Dalle pagine di Ubuntu man per ps:

  

l'utilizzo della CPU è attualmente espressa come   la percentuale di tempo trascorso in esecuzione   durante l'intero ciclo di vita di un   processi. Questo non è l'ideale, ed è   non è conforme alle norme che   ps altrimenti è conforme a. l'utilizzo della CPU è   improbabile che aggiungere fino a esattamente il 100%.

In sostanza, la colonna% CPU dimostrato da ps è in realtà un medio nel tempo il processo è in esecuzione. Il decadimento che si vede è a causa dell'elevato picco iniziale seguito da inattività del calcolo della media nel tempo.

Altri suggerimenti

I tuoi discussioni fast-cgi non deve consumare qualsiasi CPU (evidente) se non ci sono richieste da elaborare.

Si dovrebbe indagare il carico si sta descrivendo. Io uso la stessa architettura e le mie discussioni sono completamente inattivo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top