Domanda

Come costruisci la tua interfaccia FastCGI in PHP?

Mi piacerebbe fare qualcosa di simile a cosa stanno facendo in Perl, ma in PHP.È anche possibile?Sarebbe più veloce?

(Cioè, mi piacerebbe essere in grado di caricare un framework per app Web una volta in memoria, quindi chiedi a FastCGI di chiamare un metodo che fornisco per ogni richiesta.Quindi non il precaricamento più generico dell'interprete PHP che avviene nella configurazione PHP FastCGI "predefinita".

saluti!

(Modificare:Non stanno facendo lo stesso anche Mongrel e RoR?)

Ok, ora ho fatto uno strano diagramma :)

alt text

È stato utile?

Soluzione

Potrei sbagliarmi (è tardi) ma non stai semplicemente cercando di eseguire una qualche forma di memorizzazione nella cache?Indipendentemente da ciò, l'interfaccia FastCGI sembra essere abbastanza ben definita.Quindi, dovrebbe essere possibile fare quello che vuoi, abbastanza facilmente.

Altri suggerimenti

Puoi non fallo In PHP per PHP, puoi farlo in C for cgi-sapi ma probabilmente vorrai usarlo APC Invece.

Se sei davvero determinato a farlo in PHP, in teoria potresti, creare un modulo php in c, e forma il ponte per veloceCGI in c.

Dopodiché, immagino, eseguiresti uno script PHP accedendo a fastCGI come programma autonomo, eseguendo un loop e accettando richieste.In cui usi PHP come una "macchina virtuale persistente" (non riesco a trovare un termine migliore), che comunica tramite fastCGI.

Sono d'accordo sul fatto che il ricaricamento di molte delle tue librerie di dipendenze / ecc. sia un drenaggio delle prestazioni molto facilmente trascurabile.Tuttavia, potrebbe trattarsi di una progettazione intenzionale, volta a semplificare il ciclo di sviluppo di PHP.Pensa al disordine variabile globale che gli utenti inesperti farebbero, in un ambiente persistente.Aggiungete il fatto che la maggior parte delle configurazioni fastCGI inizializzerà più copie/thread in base al carico.È un piccolo barattolo di vermi.Avviare una nuova lista vuota per ogni richiesta lo semplifica.

Tuttavia, onestamente...se sei preoccupato per le prestazioni, potresti anche considerare fastCGI C++ / node.js come alternative ....Avendo sviluppato per JavaScript/PHP/C++, la tua idea è sicuramente possibile...Comunque la questione è in termini di costi-benefici...Ne vale la pena?, ecc.

PS:Puoi anche considerare di compilare i tuoi siti PHP tramite hip-hop.

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