106% CPU sounds a bit iffy, unless it's measuring the number of CPUs it's using.
How did you arrive at such a figure?
Generally speaking:
- Issue fewer queries where it makes sense to do so
- Have appropriate indexes on tables (but not superfluous ones)
- Profile your queries in your test environment using simulated production data
- Use EXPLAIN to see how mysql's doing a specific query
- Enable mysql slow query logging in your production environment (but carefully monitor its disc usage) - so you can see which queries are being slow in your production environment.
If you've done all those things and it's still too slow - particularly with 80 users, you're doing something really, really wrong.
You say "80 users" - how big is the table with the most rows in it?
Mark