Daily Power Ups

Recent Posts Widget

Friday, October 4, 2013

StubHub looks to speed things up

In the words of the infamous Red Rocker: 
          "I Can't Drive 55!!!!" 


As StubHub continues to innovate, build on and expand our entertainment hub we are also striving to make it faster so that your experience will be more enjoyable.    
                                   

To achieve faster page load speeds we have been focused on expanding our partnerships as they relate to performance and beefing up our internal performance teams, both QE Performance and Performance Engineering.  Here are a few of the interesting things we've been working on:

Enhancing our CDN 
Last year we beefed up our CDN usage and added last mile and dynamic site acceleration (DSA) via Akamai to that our content is closer to you and can be more quickly delivered.  This enhancement took us from a stock coupe to a super charged dragster running nitro for that last minute burst to cross the finish line.  Our experience setting this up was wonderful and easy making this a simple low hanging fruit no-brainer must for anyone wanting to add performance to their site.  For the numbers geeks out there we saw a lift of 24% on average across the 4 Key pages we monitor.

Enabling the latest WPO/FEO strategies
At StubHub we are a test and learn company that loves to stay on the forefront of technology; we are no exception in the performance group as we dutifully try out the latest WPO/FEO strategies.  In this realm we've tried creating and hosting our own WPO service using wro4j to manipulate our payloads so that we version, minify and optimize Javascript/CSS files.  Unfortunately we found this to be process intensive thereby not yielding the results we wanted/expected.  In the spirit of test and learn, we didn't abandon our work, but adapted it by taking on a POC with a 3rd party's real-time FEO service.  We were again disappointed in the results and decided not to move forward.  We took a step back and examined the data from both attempts and determined where we went wrong.  Our vision and theories are correct, but our implementation was wrong; we decided the issue was in the delivery.  In trying to make this a real-time service we added extra hops to the network paths, extra processing and etc.. that ultimately negated the benefits.  Our new approach is to integrate our WPO/FEO rules into our build/deployment system thus giving us optimized packages prior to runtime.  We know this solution is limited and won't give us all the benefits of a "service", but it will give us the major requirements we were looking for.   As this is still in development I can't give you the exact performance numbers, but latest testing is indicating a ~35% lift on a few key pages.

Caching
The performance team itself is not working on a caching initiative, but we are consulting with the platform team on improving our server side caching so that we can gain more out of it.  Caching is an area that I believe all applications can take better advantage of as often times I've found that it's either neglected due to the misconception that the related data is too volatile and/or that the caching is too far downstream to reap the best benefits.

Network Infrastructure
The performance teams (engineering and QE) are taking it on to improve network infrastructure woking with our Ops teams directly and questioning required layers, tuning options, etc….  One such initiative has us reviewing our usage of Apache at certain locations in the topography, questioning it's need. In fact we are now convinced that we can remove it and save us ~50ms; while this may not sound like much, it is huge when you think about an API that returns in ~150ms and now will run 33% faster at ~100ms.

Continued wrenching under the hood to edge out more horsepower than ever before.

As with any legacy system you have to continue tuning code, parameters and etc… to keep it performing at high levels.  In our case, we have a bit of legacy code that we are refactoring to get as much life and performance out of it as we can; while on the side we ensuring that all the best performance practices are used while we build our new Ferrari (StubHub's next generation architecture).

If you'd like to know more about what we are doing and/or are interested in helping us reach the speed of a Verlander fastball or an Eddie Van Halen solo, please visit StubHub.com/jobs or contact me directly at rmcginnis@stubhub.com.

I leave you with this last image to capture why we are focusing on performance:

No comments:

Post a Comment