I had the unfortunate experience of too much traffic, a problem we should all have, this year!
To say that we tweaked would be an understatement!
We were running on a dual core 3.0 Pentium and serving up to 100,000 page views a day in EE…mostly forums. Obviously the traffic peaked in certain hours of the day…as usual, so it really was at a hourly level where we hit the wall - maybe at 7,000 page views per hour. Again, mostly forum, which require a lot of queries and the db is fairly large (almost a gig)......
I was able to keep thing barely alive - server loads of 10 or less and page processing times of 8 or so second (WAY too long, IMHO, but fine in a pinch) using every trick in the book. I offloaded some images, banners, css and js to Amazon, tuned mysql, etc. etc…...
However, in the end the KISS way to deal with heavy loads - IMHO - turned out to be hardware! Yeah, lots of people will pooh-pooh that as bad form. But all the stuff we did (and my ISP knows his stuff in Mysql and Apache) did was make thing bearable, not fast….and fast is what you need to succeed today.
We replaced the older server with a quad-core Xeon 2.5. and increased RAM from 2 to 4G.
At first glance, a lot of folks would think that would help, but not make all the difference in the world….
Well, I’m here to report to you that it DID make all the difference in the world. We replaced the server during a time of heavy traffic - and since it has been replaced I have not seen a page load time (as EE reports) of over 1/2 a second. Most are approx. 0.3 second. Of course, that is just a report back from the db side of EE, but according to google webmaster tools our total web serving speed went from as high as 7+ seconds average to 2.5.
So while all the coding excites me, in the end the best solution is the one that takes the less time and money and creates the best result. Call me quick and dirty, but I’m all for throwing hardware at a problem…ram and cpus are cheap compared to coding time!