Ben_S is correct. 15 users is not that much load.
I agree that it is not much load, but many shared hosts are overselling so bad that they will suspend the account, citing TOS, at that point. Heck, a bunch of them limit the number of database connections to such a low number that it is nearly unusable.
My forums have about 50 to 120 users online at any given time, bursting to 160. The forums use about 100% of one CPU in a dual CPU box (shared hosting). Disabling zlib compression brought that down from 130%. So disable compressed output (under Server Settings -> Feature Configuration).
Thankfully, MySQL is hosted on a different box (also shared). I'm still having issues there with the huge amounts of writes to the smf_sessions and smf_log_online tables. Converting to InnoDB didn't help much. I'm going to see about converting those to MEMORY tables.
I'm running a little over 3 million queries to the database on average per day. In dealing with MySQL slowness (because of the huge amount of writes), my host suggested going VPS/dedicated once I hit about 4 million per day.
I get about 70,000 page views per day.
All that for $20/mn. Go Dreamhost!
It seems like Dreamhost sometimes lets people do stuff like that, overload their fair share. Quite possibly, they can do this because other accounts are not using anything at all and/or do not care or notice the performance hit. What you describe sounds like definite VPS territory. High end, with extra memory tacked on the plan and settings tweaked, at that.
Just converting to InnoDB is not enough, you also have to optimize your my.cnf configuration. Of course, on a shared plan with Dreamhost, you will not be able to do so.