This chapter showed how to pinpoint bottlenecks that slow down the generation of a web page. We discussed memory pressures, caching, CPU usage, thread usage, and long wait times for external resources. For each bottleneck, you were referred to the chapter that shows how to fix it.
We also had a look at some miscellaneous ways to speed up the generation of a web page, including making sure that your code runs in release mode, reducing round trips to the server and reducing unwanted traffic.
In the next chapter, we'll find out how to reduce your application's memory usage.