I currently run a website we get about 15,000-20,000 hits a day. We currently run a very active forum, that is hosted using Vbulletin software. We have 4.5 Million Posts, 80,000 Threads, with about 11,000 members of which just under a third is active all the time. Now I am running a Intel Xeon Quad Core (2.13Ghz) with 4GB of RAM, Centos 5.5 and running DirectAdmin on the box to manage it. I also run the current stable version of Apache, MySQL, and php. This is the only site that is hosted on this machine. Now during random times of day sometimes when it gets busy the server load can get to like 20, but this can also happen when we only have like 200 users active too. I don't understand what is causing these problems. Sometimes I get pages that can generate in .2 seconds other times it takes like 5-8 seconds. I have customized the my.cnf file and that has not helped out anything, I didn't know where else to turn so if anyone has any suggestions please let me know.
Do you have logging in place:
I would start with some Basic Monitoring, Logging & Diagnostic Toolset.
If this post has helped you - why don't you vote for it :-) Blessings
A few other things in addition to Glenn's excellent list:
Just from my own experience your server 'should' be enough to support a 20k views/day site with a good configuration and some optimization tweaks. I wouldn't be surprised if you can theoretically get 10x that or more with some work.