

This is a stunning savings!įor the more adventurous there is an updated algorithm called Brotli, which is showing great promise and is quite well supported on modern browsers. The savings from using gzip compression on an HTML file are around two thirds that is to say that a 100kb uncompressed file will end up being 33kb over the wire. Even the most archaic of browsers support compression of HTTP content using the gzip algorithm. Some web resources are already compressed, especially images, but HTML, CSS and JavaScript are typically transferred as text. The HTTP protocol is not a particularly efficient protocol and, by default, there is no compression of the content. Obviously, this will vary slightly from site to site so be sure to take it with a grain of salt. The rest of this blog post is arranged in a rough order of things that have a large impact to those with a small impact. Items which are global (JavaScript loading, CSS loading, and their ilk) will likely have a larger impact than changes to a single page. If you can show a large impact on your users right away, then it will give you some great political capital to continue optimizing and you’ll feel fantastic. Once you have your list, then pick the item with the largest impact first. You’ll often find that the items at the bottom of the list aren’t important enough to worry about until far down the road.

Make yourself a list, and order it from largest impact to smallest.

The measurements should give you an idea of which of these optimizations might help you the most. Prefix will allow you to highlight slow queries, large JavaScript files, and more. Put away your stopwatch: there are some great tools for measuring performance such as Prefix. Measuring performance should be a holistic exercise measuring server, JavaScript, and loading performance. Although not quite a black art, ASP.NET performance tuning gives you unexpected results. Sometimes you’ll make a change to the site, thinking it will improve performance, but it will actually reduce performance. The first thing to do is gather a baseline of your application’s performance.
