[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