Hello from mod_pagespeed again. We are adding support for running in the Worker MPM, having spent most of our time since we launched the product sheltered in the prefork MPM where our multi-threading challenges are all of our own making.
Having tuned our threading model for prefork, where all request-parallelism will come at the process level, we now offer a functional but, almost certainly, suboptimal experience for Worker MPM users. In particular, for a given server_rec, in prefork we are only going to be processing one request at a time, hence we should employ only a small number of worker threads to help us. But in Worker MPM, from what I've seen, a single server_rec can service multiple concurrent requests. Thus I think we should be aware of this and bump up the number of worker threads we create to help us. Is it possible to detect the MPM under which mod_pagespeed is running, or, more generally, the number of concurrent requests that the current process is likely to need to handle? Thanks! -Josh