Our product has over 4300 tests. The server side UI tests are around 1500 in total but was causing the full test run to take 20 minutes. Recently adding only a handful of tests increased the total test run time to over 40 minutes. It turns out the useful Browser
testing component from the Nancy framework was expensive to create for each of our 1500 server side UI unit tests. Changing our Browser and bootstrapper configuration to run once per suite rather than once per test, resulted in our total test time being reduced to just over 5 minutes! That saving was worth the trade-offs we had to make. Continue reading
Category Archives: Performance
XSLT Performance tip: don’t indent output
When transforming XML via XSLT, make sure the output setting for indenting is turned off and honoured by your code.
Turning it off will often speed up the transform and save a bit of output size. Continue reading
Google App Engine as your own Content Delivery Network
24 Ways has an excellent article on using Google App Engine as your own Content Delivery Network.
A CDN is a network of servers around the world to serve content from your site from the nearest physical location. All the large sites (Yahoo, Google, Amazon, etc) use them.
After reading the above post, I was also curious to find out how if Google App Engine helps in the following: compression, expires headers and versioning. It looks like it does. Continue reading
Google to host a number of JavaScript libraries
Google just announced their AJAX Library API, where Google will host many major JavaScript frameworks for you, such as jQuery, Prototype, Mootools, Dojo, etc.
This will allow you to write web pages that refer to those scripts rather than copies on your own site, reducing your bandwidth, but also leveraging the infrastructure capabilities of Google, such as their content distributed network (which means users would be served those files from a location much closer to them), properly compressed, minified, cacheable files, etc. Continue reading
Web site performance: Expires Header
Ensuring the Expires header is set to the future for resources such as JavaScript, CSS and images helps increase the chance the browser will really cache those files, as research from Yahoo and Google have shown. This short post looks at how you can implement this in Apache and ASP.NET in a maintainable way. Continue reading
Client side web site performance
Client side web site performance can be as important as server side performance (maybe even more, from the user’s perceived download perspective). A number of tips and links for further information are provided in this post Continue reading