In this blog I want to re-raise the awareness for very basic WPO (Web Performance Optimization). Whether you use the browser built-in diagnostics tools or extensions such as Firebug, YSlow, PageSpeed or Dynatrace, it doesn’t matter. These tools are available for every developer, web designer and tester and HAVE TO be used as a final sanity check before checking in or releasing code.
Here are some of the highlights we found on the website we analyzed during my performance clinic. We used Dynatrace and analyzed the website on both IE and FF.
1. Key Metrics: Size, # Resources, Load Times
The following shows the Key Performance Indicator (KPI) tab of Dynatrace for loading the home page of that eCommerce website we were analyzing. Easy to see that there is a lot of potential for improvement:
Please remember to follow the basic golden rules of WPO: Reduce Roundtrips, Reduce Content Size, Leverage CDNs, Minify and Merge Content, Use Proper Caching. More on this check out Top Client Side Performance Problems.
2. Timeline/Waterfall: Learn how your pages are architected
4. Bad Caching and No Merging
5. Server-Side Performance
In our Performance Clinic at STPCon, we only analyzed the frontend performance of this website but I learned that these guys are also using an APM tool on the server-side. They confirmed that by using tools such as Dynatrace they also found “The Classics” on the backend: too many database roundtrips, bad server-side coding, multi-threading issues with blocking resources, …
So – this is a shout-out to all of out there to look beyond what’s happening in the browser and use tools such as Dynatrace to also look behind the scenes and watch out for the Top Performance Landmines just as we did in a recent post on End-to-End Analysis of GWT Applications:
Do you see these problems?
Even after years of talking & preaching about Web Performance Optimizations I am still seeing the same basic mistakes almost daily. Maybe I have a good hand in picking the right websites but I am sure the problem is just out there. If you have examples or best practices on how you got yourself or your team to become better with analyzing and preventing these problems let me know and post a comment!