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?
http://xkcd.com/979/ – Xunnamius