Last weekend was the inaugural run of the Northeast PHP Conference in Boston. Wayfair was a gold sponsor, so we bought t-shirts, paid for apps and beer at the Saturday night event, and also sent about 15 engineers to the event. I gave a talk on High Performance PHP, and we had a blast. Check out the slides from my talk. The feedback was great, and we look forward to sponsoring the conference again next year!
You can also take a look at some of the other talks that we really enjoyed:
Thanks to Michael Bourque and the other organizers for putting on a great event!
A couple of weeks ago I ran a test with WebPagetest that was designed to quantify how much a CDN improves performance for users that are far from your origin. Unfortunately, the test indicated that there was no material performance benefit to having a CDN in place. This conclusion sparked a lively discussion in the comments and on Google+, with the overwhelming suggestion being that Real User Monitoring data was necessary to draw a firm conclusion about the impact of CDNs on performance. To gather this data I turned to the Insight product and its “tagging” feature.
Before I get into the nitty-gritty details I’ll give you the punch line: the test with real users confirmed the results from the synthetic one, showing no major performance improvement due to the use of a CDN. Continue reading
It’s a new year and it’s time for another report on how fast (or slow) our sites are. If you are new here, our previous report looked at the average load time for our four major types of pages, as well as the 95th percentile load time. The inspiration for this type of post came from our friends at Etsy. Continue reading
As we have mentioned before, the main source control system we use at Wayfair is SVN, with TortoiseSVN as our client. One of the things we love about SVN is the ability to add commit hooks, or checks that run when someone tries to commit a file to source control. By having a few key checks we can prevent bugs, ensure consistent coding practices, and generally have a cleaner codebase.
Progressive Enhancement is often described as an alternate approach to “Graceful Degradation” – it encourages focusing on the most basic functionality first and then building out from there. It also forms the core of the Yahoo! Graded Browser Support model, which we use as a guide for our own rules around browser support. This is an important topic, but it has been covered fairly extensively in other articles, so I’m not going to dive into it too much here. Instead I am going to talk about specific progressive enhancement techniques we use at Wayfair to improve site performance.
One of the big changes at Wayfair recently was moving all of our storefront code (well, almost all…we’re still working on our sessioned code) from Classic ASP (VBScript) to PHP. The company was started in 2002 and at that time ASP was a common technology on the web, and one that our founders were familiar with. After 8 years of working with it, we had pushed it to the limits and decided we’d get more benefit out of moving to a new technology.
I recently saw this post on Etsy’s blog and found it inspiring – you don’t typically see retailers (or any companies for that matter) sharing performance data. Even more impressive is the fact that they posted this on their primary blog as opposed to their engineering blog. To me this says that Etsy really cares about performance, and wants all of their customers to be aware that it is a priority. After reading that post I immediately wanted to share some Wayfair data – and this is my attempt to do that (maybe I can get it cross-posted to our main blog ).
Here at Wayfair we care a lot about performance, and the business case for having a faster site is well documented. To keep tabs on our site performance we have synthetic monitoring tools like Catchpoint, real user monitoring tools like Coradiant (now a part of BMC software), and our own home-brew monitoring instrumented in our ASP and PHP code. We have also had great success using StatsD in conjunction with Graphite. Continue reading