[TYPO3-dev] Caching Framework

Nikolas Hagelstein lists at shr-now.de
Tue Mar 2 13:30:55 CET 2010


Hi,

> > since shm can't be shared beyond process borders.
> Heh? It's called *shared* for a reason.


Yes, but threads vs. Processes ;)

Typicall fast_cgi setup processtree (one vhost i.e. fastcgi class):


init-+-apache2-+-apache2
     |         |-apache2-+-php5-cgi-+-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          `-php5-cgi
     |         |         |-php5-cgi-+-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          |-php5-cgi
     |         |         |          `-php5-cgi
     |         |         |-php5-cgi-+-php5-cgi

Apache spawns a 1 to MaxClassProcessCount php5 processes.
Each of them comes up with 0 to PHP_FCGI_CHILDREN worker threads 
handling the incoming requests to it's parent in a round robin manner. 

Shm is shared between all worker threads of ONE php PM process. 

Things become even more worse if you set PHP_FCGI_CHILDREN to 0 
(like needed for mod_fcgi due to it's restriction to handle more than one
request per time ).

But that's really another story.

Cheers,
Nikolas












More information about the TYPO3-dev mailing list