Very often I hear: use a profiler and unit test. How do I do that? I would be glad if someone would provide either links to websites with tutorials or recommend a good book. I'm using Visual Studio 2010 Ultimate.
Find Application Bottlenecks with Visual Studio Profiler describes how to use a profiler with VS 2008 - it should be applicable to VS 2010 as well.
Regarding Unit Tests and Profilers:
Unit Tests may be used to validate that your application code fulfills a set of known conditions. Or more simply, test cases are set up to run code and to return Test Passed or Test Failed based upon a set of "assert" statements you place in your test code.
Profilers may be used to inspect running code, to identify the functions your code is executing, what resources it is using, etc. This is helpful for identifying application bottlenecks (for example, 90% of CPU cycles might be spent within a single function) and for measuring optimization improvements.
Here is the VS Profiler Team Blog.
RedGate have several profiling tools for .NET - they have lots of videos and content on how to use them.
Here is a good article from simple talk (Using a Profiler to Speed Application Performance).