On our Drupal 6 and Drupal 7 sites each idle Apache process averages 60-100MB each. When the page gets loaded from cache only about 10MB is really needed, but sometimes a page is not cached yet so the process jumps up to 60-100+MB.
We use prefork, so each apache process stays about 60-100MB in size, when in reality 99.99% of the page loads are cached and the processes could easily be down to 10MB.
Our MaxClients settings could be about 5x greater if there were a way to keep the apache sizes down to 10MB.
Is there a way to have two apache processes available, one with a low maxclients for non-cached pages and one with a high maxclients for cached pages? And also, is there a way to route cached & non-cached requests to different processes?