Ok, so by now I think everyone on the planet has seen my iPod Shuffle RAID hack. My little site here was doing fine all weekend, all day Monday, happily serving up pages to all sorts of surfers in Asia & Europe, and a smaller number from the US. Not bad for an old G4 sitting under my desk at home running off a Cable Modem connection. Then along comes Slashdot and suddenly my site slows to a crawl under the flood of connections...
Naturally I instantly thought of several things that could help my site deal with the load, but my system was totally unreachable at the time for me to do anything about it. Once I arrived home from work, I set about Slashdot-proofing my site.
First of all, and I'm sure that some of you noticed this, the main images in my Shuffle entry weren't stored on my local system, but instead hosted via my .Mac account. They have wide bandwidth and redundant servers, quite able to handle the load of serving those few files, and keeping that traffic away from my server. But I was still serving up the HTML page itself, several smaller graphics, and the CSS styles sheet. Not a huge chunk of data, but every one of those was a separate request of my server, so again over to mac.com they went. What I was left with was my system here simply serving the HTML code itself, and all graphics and the relatively static CSS file coming from my .Mac account, with the single exception of the favicon.ico file, which I didn't feel like moving since it was so small and few browsers requested that file anyway.
Next up was some quick tuning of Apache, tweaking some of the default settings to adjust timeouts and the number of connections it would handle. I'm still trying to tweak this a bit, and I will regard this as something of a black art, if you're interested, use Google to do some research on this topic, you'll have a bit of reading ahead of you. ;)
Lastly, I noticed that a fair bit of the pounding my server was getting was from some script kiddies who were trying to do all sorts of Windoze exploits and searching for various files/directories, none of which exist on my system. All I could really do there was just shut down the web server for a few seconds when I saw my activity going nuts, and after a few hours things finally settled down.
Most ISPs add in some free web hosting for their users, if you run a small site off a home system, do yourself a favor and take advantage of their bandwidth, offload as many static files from your site to their system, and reduce the overhead of what your system has to serve.