Author: Dean Alan Hume
Audience: ASP.NET devs
Reviewer: Ian Elliot
What could be wrong with wanting to make ASP.NET websites go faster?
The first part of the book is about how to measure and define optimization. The first chapter is about why bother to optimize at all and the general strategy involved. Chapter 2 is about HTTP and how it works. It also covers details such as caching and tools for measuring performance.
Part 2 of the book is about general performance issues that could be applied to almost any web site technology, i.e. they are not ASP.NET specific. The examples used do use ASP.NET technology, MVC and Web Forms to show you how to implement the techniques. This part occupies 100 pages of a less than 200 page book and many readers will find that it is a bit too simple. If you don't know about these ideas, however, you may well not agree.
Chapter 3 explains why compression is a good idea and later in the chapter how to turn it on in IIS. Chapter 4 is about HTTP caching and specifically how to turn it on in IIS. The later part of the chapter deals with output caching for both MVC and Web Forms.
Chapter 8 is on ETags - or Entity Tags which are part of HTTP cache management. For years there has been a discussion about their usefulness and most programmers are of the opinion that you should remove them. This is exactly what this chapter tells you how to do for MVC and Web forms.
Chapter 9 moves on to content delivery networks, CDN. The biggest problem with CDN is picking which one to use. In this case all we get are a list of CDNs and a note that exactly how you use a CDN depends on which one you pick. The chapter then goes on to explain how to set up your development environment to make it easy to switch between a local development and a CDN production environment.
Part 3 of the book is about techniques which are specify to ASP.NET. This amounts to just three chapters. Chapter 10 is about MVC telling you to reduce the number of view engines, use release mode and using a code and database profiler. Chapter 11 is about Web Forms and it is mostly about turning off things you aren't using. It too finishes with a look at using profilers. The final chapter is about using the general data cache.
What is missing?
Well there isn't much about overall architecture, such as minimizing round trips in Web Forms by using Ajax, and not much about the way server side code can be optimized. Nothing about the request-processing pipeline, managing traffic, threading, using background workers, command batching in SQL Server and nothing about server optimization.
Overall this is a reasonable introduction to the general issues of optimizing web sites with examples from ASP.NET Web Forms and MVC. It won't help you design an efficient architecture for your ASP.NET web site but it will show you how to tweak it in the most general terms.