mike503 at gmail.com
Wed Mar 4 22:51:30 MSK 2009
On Wed, Mar 4, 2009 at 9:03 AM, Roger Hoover <roger.hoover at gmail.com> wrote:
>> - dynamic pool size management (keep 1-5 running depending on load;
>> this will require congestion notifications from the web server, like
>> you said)
> Functionality was recently added to supervisord to modify it's configuration
> dynamically through the XML-RPC api so this is matter of implementing the
> load logic in an nginx plugin and making calls to supervisord to add and
> subtract from the pool.
While I would like to keep my software stack low, this sounds like a
neat benefit. Would just need to define hard upper limits, and how
long to wait or whatever to kill spare/unused children (like apache, I
Personally I would like to see a daemon that does this in itself.
Leverages the fcgiwrap code + adds on features. I suppose it would
have to be 'aware' of how many connections it was servicing per pool
which Grzegorz makes it sound like can be very hard... but then it
could manage things dynamically.
request comes in -> depending on what port/socket/etc. it checks the
pool, determines if any children are open (if more needed, spawn like
apache, maybe log a notice in the log), changes to proper uid/gid if
configured, then executes the fastcgi stuff, if it gets back an error,
determine whether or not to log it, pass it back with the same http
code, do both, etc..
I don't understand enough about sockets, C, threading/forking/event
models/etc. to see if that is even an option but it seems like it
could be done, just not sure if it would be way too slow or not?
More information about the nginx