There's lots of things you can take advantage of to make things run
faster. Are you using Page and Application Caching, effective
ViewState & Session usage
Things will always initially be slow. If the ASP.NET pages have
changed then they will need to be loaded into memory and re-compiled
(due to on-demand dynamic compilation)
If you're using IIS6 you can increase the recycle timeout to prevent
asp.net from being recycled and hence having to recomple after
restarting.
I've seen it suggested that you should use a script to automatically
call the popular pages in your application as soon as you deploy new
versions so that the first visitors don't experience the delay
Also, have you added Trace="True" to your Page Directive to get a
better idea of timings?
Finally, I've used ANTS Profiler from
www.red-gate.com to get an exact
idea of which methods are taking time and how often they get called.
Redgate also have ANTS Loads to stress test web apps. The Profiler
saved me days in trying to tune .Net apps
Jason