How can I find SQL Server performance bottlenecks?

SQL Server itself has some fairly good native system views (called DMVs) that can help you locate bottlenecks and check performance. The issue with using them is that in order to have historical trending and baselining you need to collect the data on a regular basis. You could use another native tool, Management Data Warehouse to get some details, but it is not easily customisable. That’s why many folks look for 3rd party apps that do the collection and analysis.

As for resources, I’d point you to SQL Server Central as a good place to start. From there you’ll stumble upon lots of different places to get other pieces of information.