50 Ways to Avoid, Find and Fix ASP.NET Performance Issues
"Projects that use multiple levels of cache often demonstrate a misunderstanding of why caching is required in the first place. Caching is not synonymous with performance. Your code should already be efficient. Caching should only be used as a last resort, after you’ve made all possible (and sensible) code optimizations."It sounds obvious doesn't it. But how many projects have you come across where caching was hiding inherent performance problems?
Anyway, the book is part of a marketing campaign for Red Gate Performance Profiler. So even though it is free, you may be contacted by Red Gate via email. There's no such thing as a free lunch now is there.
In any case, if you're a .net programmer then you should definitely have a read. It gives you 50 quick bits of useful knowledge. Most of which, you should definitely be aware of if you're a .net programmer.
Get it here: http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/entrypage/avoid-find-fix-asp-problems