I have a live SilverStripe site that I'm experiencing major problems with. After the site has been running for a while it starts spawning multiple httpd processes, some taking up huge percentages of the CPU (these can be seen using top). The site progressively become more and more unresponsive returning 500 errors for requests.
At first I thought this was most likely to be an server misconfiguration, but the apache setup seems fine. Strangely I've noticed that running ?flush=1 on the site gets rid off the spawned httpd processes and the servers response time returns to expected levels.
Does anyone have suggestion about what exactly is happening here? This suggests to me that something is going wrong with the Silverstripe caching process. Does flush=1 clear just the cached php files or does it perform other tasks also?
The site has low to medium traffic and is on fairly hefty dedicated server so should be able to handle the load easily.
Any assistance would be greatly appreciated.