Over the past few months I have been giving online and offline talks called Performance Clinics. During these clinics, I show you how to analyze performance and give you feedback on the data you’ve collected on your own application.
Every month I am going to write a short blog on the top problems found within the program so you get to see common problems that are out there and how to fix them.
This month’s stories are from Russell, an Operator of an online casino, and Joe, a Database Admin of a large telecom provider. Together we figured out why their applications are slow and how to fix them. This blog is to share the technical details around bad web page design, non-optimized deployment and a catastrophic database access layer implementation.
#1: Bloated Web Site of Online Casino
The first example is from Russell, who is in charge of hosting an online casino Web site written in ASP.NET. He frequently had to deploy a new version that came in from a 3rd party engineering team which caused him to spend nights and weekends getting his infrastructure in a state to fix and workaround stability and availability problems introduced with the latest version.
As he is not a performance expert when it comes to web development, he asked me to take a look at the data he captured with Dynatrace Browser Diagnostics which he found by reading one of my previous blog articles.
The following was my response to the data he sent me. It has evidence and tips for the 3rd party engineering team, and to Russell to deploy a much faster version of the Web site that won’t cause him so much pain to operate:
- 9.66MB Total Page Size: this is too big for a landing page where you want people to continue clicking on the different online gaming offers they provide
- 282! Resources: Most of these were high resolution images. There are techniques to optimize images from both size but also number of images on a single page. A great article was just posted by Tammy Everts on Image Optimization Checklist for Everyone
- 8.8s Page Load: This was measured on my high speed office line. On an average line of people playing these games this time probably doubles or triples. It will significantly improve when optimizing these images
- 95% Resources from Single Domain: Most images were delivered from their main domain. I gave him the advice to at least use some additional Image Domains such as image1.yourdomain.com and image2.yourdomain.com. Why? Because right now the browsers of end users can only download between 4 and 8 images at a time (depending on the browser). The concept here is called Domain Sharding
- 1.8s in bad CDN connection: CDNs (Content Delivery Networks) are key for a good global online strategy. But if you pick a CDN that has problem like theirs, where most of the time is spent establishing a physical connection and not in actually downloading the content, then you should consider a different CDN provider