30k hits a day isn't that much. I wouldn't expect you would need a cluster for that, just a fair amount of RAM (2GB+) and reliable and fast HDDs. (RAID should give you the performance and redundancy you need)

At most, you should have a single dedicated web server and a single dedicated MySQL server, but 30k hits shouldn't warrant much more than that.

Anyway, as Unne said, EXPLAIN works wonders, especially when working with indexing, joins, and lots of relational constraints. It can mean as much as a 1000% speed increase (we had such an increase at EoFF by using explain to tell us what to index).

You should also consider which storage engine to use as it can affect performance. You can use MyISAM as your storage engine and get bleeding fast performance and Fulltext indexing with absolutely no relational features or transactions; or you can use InnoDB and get slightly less performance but with all the relations aspects, constraints, and transaction support a good database should have.

Anyway, that's my 2 cents for now.