It really, really depends on the nature of the application and the nature of your traffic -- there is not one correct general answer for the general question.
Some ways to approach this problem successfully:
- Build a good test plan using automated tools. For web apps Browsermob is a great choice. You could do the same thing with selenium RC and a little elbow grease.
- Build good measurements and instrumentation into the system. Never think something is faster, know something is faster.
- Have clear goals that matter. Being able to handle 42 million customers does not matter if you only have a dozen.
Finally, remember that load drastically changes things -- some things one does to handle mass traffic actually have negative performance implications before you are getting traffic. ASP.NET itself is a great example -- you have probably spent lots of time waiting for the worker process to spin up in development mode. But in production that precompilation pays off in spades.