Delivering high-performance applications requires not only care for performance, but also systematic effort to measure, test, monitor, and optimize the performance of various components and subsystems. The key is to first measure, then optimize, and subsequently repeat the process during the application life cycle. These activities often require the right skill and experience. Sometimes, performance considerations may even bring system design and architecture back to the drawing board. Early structured steps taken to achieve performance go a long way in ensuring that the performance objectives are being continuously met.
In the next chapter, we will see how to address performance concerns when building applications. Our focus will be the several common patterns that impact performance.