2013-03-25 23 views
9

Il fatto finora

Secondo “mod_fcgi is NOT a replacement for mod_fastcgi” e “Issues with mod_fcgid and multi-threaded FastCGI application”, mod_fcgid, non è progettato aspettarsi server FastCGI per essere in grado di gestire richieste multiple in una sola volta, cioè non progettato per aspettarsi server FastCGI per essere multi- filettato.mod_fcgid: FastCGI multi-threading ora o in un futuro pianificato?

Il primo dice:

Entrambi supportano il protocollo pubblicato "FastCGI", ma come controllano i loro server FastCGI differisce considerevolmente. mod_fcgid elimina rapidamente i server FastCGI e avvia i nuovi .

Quest'ultimo dice:

sembra mod_fcgid non è a conoscenza del fatto che il mio server è multi-threaded ed è in grado di gestire più di una richiesta.

Questo è solo due virgolette tra gli altri, ce ne sono alcuni altrove.

Il problema consecutivo

Threading non è solo di salvare CPU e la memoria evitando il sovraccarico di creare un nuovo processo (creazione di un thread è conosciuto per essere più leggero di creare un processo), e che potrebbe essere mitigata dall'hardware o prestazioni del sistema operativo; anche questo è un problema logico, che è meno facile da mitigare: i thread appartengono a uno stesso processo, che non è solo prestazioni, ma anche logica, es. processo non può condividere ciò che discussioni potrebbero condividere, come processo eseguito in isolamento (modulo IPC, ma non è lo stesso).

Almeno per questo motivo logico, è possibile che venga sollevata la questione del server FastCGI multi-thread. Un server FastCGI può contenere un contesto (che può essere grande e costoso da condividere tra processi) che è globale per tutti i gestori di richieste quando è progettato come server multi-thread. Il fork di un nuovo processo per ogni richiesta concorrente non consente di garantire un contesto comune in più.

La domanda

sono le due citazioni di cui sopra ancora vero (uno è datato 2011, l'altro 2010)? Ho cercato sul web sull'argomento, ma non ho trovato nulla di rilevante. Se è ancora vero, allora sarà sempre vero o è previsto un piano per mod_fcgid, per essere a conoscenza di server FastCGI multi-thread e accettare che questi possano essere progettati per gestire più richieste simultanee?

+2

http://xkcd.com/979/ – Xunnamius

risposta

3

Non riesco a rispondere alle vostre domande precise su mod_fcgid, ma Apache è passato e il metodo preferito ora in Apache 2.4 è quello di utilizzare mod_proxy_fcgi, http://httpd.apache.org/docs/trunk/mod/mod_proxy_fcgi.html.

Gestisce più richieste simultanee. In genere è possibile passare richieste al gestore php-fpm.

Problemi correlati