This is a broad question. There are lots of way you can do performance improvement following link has some best practice.
http://www.dotnetjalps.com/2009/05/increase-performance-in-aspnet.html
Try REDGATE ANTS profiler for profiling your application and see where the bottleneck is. http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/
For memory leak use dottrace memory profiler and see how your application doing. http://www.jetbrains.com/profiler/
You can also check performance counter via process explorer on your server. http://msdn.microsoft.com/en-us/library/fxk122b4(v=vs.100).aspx
For stored procedure you can measure time via direclty executing query string. If any stored procedure is taking more then a second then you should refactor that.
Here are few links that might be usefull for you.
http://www.codeproject.com/Articles/196378/Best-Practices-to-Improve-ASP-NET-Web-Application
http://www.codeproject.com/Articles/23306/10-ASP-NET-Performance-and-Scalability-Secrets