There is No Such Thing as Web Performance Pixie Dust
If you believe in Fairy Tales, Santa, and Magic Kingdoms, please stop reading this post immediately!
In the past few weeks, I have been bombarded by catch phrases and soundbites like these:
- Hey that 3rd party that is causing all kinds of issues told me it's the monitoring tool that is wrong. They assured me that they use the best CDN in the world, Akamai, and we are immune to bad performance.
- Hey, what do you think if we implement SPDY? Would that help?
I was hoping our industry and our community was immune from the media circus ”CNN / FOX /
MS-NBC talk show concept” and hype. We deal in 0's and 1's and milliseconds!
So I am very sorry to break the news to the unaware: there is no such thing as Performance Pixie Dust, there is no magic bullet, script, device, or pills to resolve your performance issues.
Performance relies on focus, diligence, team work, talent and a company-wide investment in its success! (And not in any particular order, either.)
To start, let me answer those popular topics:
- Hey that 3rd party causing all kind of issues told me it's the monitoring tool that is wrong. They assured me that they use the best CDN in the world, Akamai, and we are immune to bad performance ==> If someone gives you a tag that looks like this: <SCRIPT src=http://blah.com/crappyjs.js></SCRIPT> I do not care if they use VIAGRA CDN, that thing is going to block your page from loading! Check the amazing tool from Patrick Meenan SPOF-O-Matic. It will really open your eyes.
- SPDY is the solution! Would that help? SPDY is great! It’s so great we paused our Firefox agent development to focus on Chrome because we believed that SPDY has a great future ahead of itself! But here is the deal guys, SPDY on your site is good, the problem is that 90% of the stuff on your page is not coming from you or the CDN of yours that might support SPDY but from other domains. So yes, invest in SPDY, but, again, make sure you understand what you are going to get.
Based on my experience, the following items can impact your performance:
- Datacenter(s): Location, Location Location!
- Network(s), Latency & Geography
- Hardware (servers, load balancers, network…)
- CDN & CDN Configuration (just caught 2 cdns one using http 1.0 Close Connection and the other not compressing)
- Proper Capacity Planning
- Application (web, databases, frameworks…)
- 3rd Parties
- Smart and efficient use of Hardware
- Engineers + Ops working in sync
- Web Performance Team (EVEN if it’s one person)
- NOC or Site Reliability guys, the Watchdogs
- Finally, the “Executive Team” that's making sure all of the above elements are receiving the proper resources and support, with the ultimate goal of getting your company headed towards a great user experience and level of performance
To have great performance you need all the above ingredients working in sync! Performance and monitoring should never be an afterthought!
I am lucky to have met over these past few months folks from Home Depot, Crate & Barrel, IAC, Wayfair, Etsy (to name a few) who have taken the Web Performance challenge very seriously. They have the tools to effectively monitor, measure, analyze, improve and turn data into information/knowledge and repeat the process 7 days a week, 24/7!
Web Performance must become a priority from Top to Bottom, and vice versa. Performance monitoring is a journey, not a destination, similar to continuous build and agile dev! Yes it’s about great user experience, but ultimately it’s about the bottom line! (Slow Performance is the Silent Killer, the New Downtime - 2010!)
But if you still want to believe in Performance Pixie Dust, maybe these folks still have some from the 90's!
Mehdi – Ok my broom is waiting, have to go