When I type ab -c 2 -n 100 (myurl.com)
and have top up... my cpus on apache average 10% an average of 15-20% load on top
My requests per a second is pretty low... or is it?
Requests per second: 3.47 [#/sec] (mean)
How should I go about optimizing this....?
Linode VPS 512MB ram Apache/Php5/Apc
You may want to try jmeter instead, or at least try ab over various values of c at a large n. There really is no such thing as "bad high load" unless it affects your response time, and as Erik pointed it the slowness may be your database or other factor.
What you want is basically enough data to make a curve of load vs response time. Then you should match up your desired/planned amount of Web site load and see if you're able to get there.
Having said that, there's no reason a normal Apache setup on a normal Linux box can't spit out 800+ requests per second - heck, Apache on Windows on my work desktop PC does 500 - so you should also test a static page vs a php page vs a database-backed php page to narrow down where the problem is.
If your page is making connections to your database etc, the load your seeing may be related more to your database performance than Apache. Generally 3.4 requests per second isn't stellar but Apache Bench may be limited by the host it's running on.