Fast ASP.NET Websites |
Author: Dean Alan Hume What could be wrong with wanting to make ASP.NET websites go faster? ASP.NET isn't a single technology any more, so a book that offers to make ASP.NET go faster isn't really being specific enough. The author states that the book covers Web Forms and MVC. In fact the book is much more about general optimizations that could be applied to any HTML/JavaScript web site. It does explain how to implement these in ASP.NET MVC and Web Forms, but this is all fairly easy to do and once you know it is a good idea the documentation is mostly adequate.
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 5 is about minifying JavaScript and CSS and on bundling resources. Again, the examples are on MVC and Web Forms. Chapter 6 deals with HTML optimization - positioning CSS and JavaScript loads, Chapter 7 explains image optimization using tools such as Smush.it, Kraken and so on. Basically its about making sure your images are compressed as much as possible but not too much. The final part of the chapter deals with using data URIs to embed images in the web page. 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. This is a short and fairly simple book that concentrates mostly on general optimizations and illustrates how to implement them using Microsoft technology - IIS, Visual Studio and ASP.NET MVC and Web Forms. If you are an ASP wiz then you might find it a bit slow and not deep enough. If you are struggling with the HTML/JavaScript technologies as served up by ASP.NET then you might find it a whole lot more welcome. 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.
|
|||
Last Updated ( Wednesday, 04 June 2014 ) |