start with a fast stack (avoid interpreted code, like PHP)
stick with the same "family" of stuff that is designed and tested heavily to work together. In our case that is IIS7, Win2008, SQL Server, ASP.NET.
frequently use profilers to see where you're slow: SQL Profilers, Firebug traces, .NET profiler.
keep iteratively fixing the slowest parts until you get rid of all the low hanging fruit, performance-wise
consider rearchitecting if you hit a wall in performance due to poor architecture choices made early on (we did this on the DB side once, to reduce joins)
hardware is cheap, programmers are expensive: buy nice, fast hardware because it costs mouse nuts in the big scheme of things.
realize that performance is a feature and weight your development time accordingly (this is the biggest problem I've seen in the past on dev teams; performance is always "whenever we get to it" and that ends up being never)