Attacking SQL Server performance is, by definition, not a simple task because so many variables are involved. Tuning queries and proper database design are a huge part of this, but dealing with SQL Server as an engine that consumes resources and the physical machine are equally important. This is why it is so critical to take an orderly, methodical approach when undertaking this task. As was pointed out in this chapter, you need to basically peel apart the box on which SQL Server has been installed, one component at a time. This will allow you to explore the individual layer or component in a clear and concise manner. You will also find that within a short amount of time, you will be able to identify the biggest performance offenders and be able to resolve them. In the next chapter, "Locking and Performance," you will get to see how to monitor for locking of resources, isolate locking issues, and understand the effects on performance and throughput.