Yesterday we launched a new design for BlufftonToday.com. It all went quite well at first, and the users loved it. But about half an hour later the server began to slow to a crawl. Looking into the process table with "top" showed a big stack of running httpd processes, some of them quite old.
Restarting the webserver cleared it up, but only temporarily.
The redesign introduced several new features, including heavy use of the buddylist module, views and private messaging. Perhaps one of the modules was at fault. Or perhaps interaction with external servers (ad servers, the Spotted photo galleries, etc.) was it. Or perhaps we were under yet another botnet attack (that's become increasingly problematic lately). So we began methodically turning things on and off in a bughunt. We installed and activated APC (which had no significant effect).
After hours of stress AgentRickard suggested that we might have a 404 problem, something that dragged down Drupal when it was installed at SavannahNow.com.
It turned out not to be that, but was something very similar: Drupal was serving the directory index for the /files directory and all its children. And that was interacting with an almost insignificant bit of HTML on the front-page template, and a host of visiting web spiders, to bring down the entire site.
Spiders often examine all the link and image URLs in an HTML document and probe the underlying directories in an attempt to discover poorly linked content. If a spider sees "files/pictures/foo.jpg," it may check files/ and files/pictures. In our case Drupal was responding to those probes by serving the homepage.