Title says it all. I have a new site (local newspaper) and I decided to opt for the 8GB Linode considering the previous amount of traffic they had before moving in with me.
The site was built with ExpressionEngine 2.5, server is currently running Ubuntu 64 12.04 LTS with Apache2.2 with the following conf:
MaxKeepAliveRequest 100
KeepAliveTimeout 5
PHP Memory Limit is currently set to 128MB
MySQL conf is as follows:
Max_Connections 1000
table_cache 120
query_cache_limit = 1M
query_cache_size = 120M
Problem is, as soon as the site hits 500 users at a time, CPU goes to about 50% and everything gets really really slow, to the point of getting pingdom alarms, yet I still have 4GB of free RAM at my disposal that I'm not using. (See attached graphic. I launched the site around 12:25pm. The funky MYSQL graphs are simply me restarting the service)

Where do you guys think is the bottleneck and how do I make sure to use the RAM available to speed up things for users and even go beyond the 500 limit?
Would you guys be kind enough to share with me your optimized settings for Apache/Mysql/Php on a 8GB Linode?
A N D F I N A L L Y
Should I even try mpm_worker_module?
Thank you so much for your kind help and for saving my chops.