Website check list - Part 2 ASP.NET - 8 performance tips before going live

Index of series
Part 1 ASP.NET - 4 essential steps before going live
Part 2 ASP.NET - 8 performance tips before going live (*this post*)
Part 3 ASP.NET - 9 User Experience tips before going live

 

Part 1 of this series had a little checklist before going live to ensure that we are ready from a security perspective and our site is healthy and remains healthy.

This part will cover more performance specific tips that I collected over the years.

 

The web builds on top of HTTP, HTML, CSS, JS, …
Web performance is about

  1. Minimizing the data that you send over the wire
  2. Minimizing the time spent on each pageview

That means:

  1. Deliver as little as possible on each page view
  2. Do as little as possible on each page view (on the server and the client)

 

 

#1 Tune your web.config for performance

Mads Kristensen has written some awesome tips and tricks to get more out of IIS and ASP.NET.
Check this 2 links

http://madskristensen.net/post/Performance-tuning-tricks-for-ASPNET-and-IIS-7-part-1.aspx
http://madskristensen.net/post/Performance-tuning-tricks-for-ASPNET-and-IIS-7-e28093-part-2.aspx

 

 

#2 Have an automated test tool that monitors the uptime of your site

Obviously you want to know if your site is down for whatever reason (DNS, database, configuration error, …)
Use one of these services on the following page to ping your site every second, minute, hour, whatever your server can handle.
http://sixrevisions.com/tools/12-excellent-free-tools-for-monitoring-your-sites-uptime/

image
Figure: What about monitoring your zsValidate page? Ping the page every 5 minutes and check for #AllGood…

 

#3 Have Google Analytics (or a similar tool) on every page

Track your users going through the site, to know what they are looking for and optimize your site regarding your users needs.

 

 

The next 2 tips are about creating a performance baseline, that you are going to use for future reference.

 

#4 Check your website in YSlow and establish a baseline "Grade" that you expect to be the minimum over time

YSlow gives you a rating of your page performance. http://developer.yahoo.com/yslow/
Talk to your team and establish a baseline that you want to keep over time
(Implementing new features normally degrades your performance, so you have to work hard to keep performance to this baseline)

Grade B in YSlow is OK, but we want to get better over time
Figure: Grade B in YSlow is OK, but we want to get better over time

The earlier in the development process you establish a baseline, the better you are prepared for the future.

 

 

#5 Check website in PageSpeed and establish baseline Grade that you expect to be the minimum

Same story as per YSPow, PageSpeed is just another nice tool in your web developer toolbox.
http://code.google.com/speed/page-speed/


image
Figure: PageSpeed score 80 out of 100 is a nice starting point. But you can do better!

 

 

If you have more time to spend on performance then go on…
The following tips are about minimizing the data over the wire…

#6 Do you minimize your HTML, CSS and JavaScript?

See tip #1 for how to do this with ASP.NET automagically or do it manually for CSS and JavaScript.
If you do it manually, make sure to keep the original version for later changes…
E.g.
myStyle.min.css
MyStyle.original.css (This is the original that you use for future changes)

 

#7 Do you bundle your single data files (CSS, JS, …) into 1 download?

Nice solution for bundling multiple CSS or JavaScript files into 1 download can be found on Mads blog post about performance tuning tricks

 

#8 Do you use Image Sprites to improve performance?

Using Image Sprites can dramatically improve performance on sites with a lot of small images.

There are a lot of tools to help compile your images into sprites, see here http://stackoverflow.com/questions/527336/tools-to-make-css-sprites and here http://www.spritecow.com/

 

Do you know more??
Drop me an email if you have to share more tips!

 

The next and last post will look at basic tips for User Experience (UX) and User Interface (UI)

Latest Posts

Popular Posts