It’s time to bridge the gap between front and back end performance testing

Posted in Web Performance, WebPageTest on by Rick Viscomi.

Front end performance tools like WebPagetest are limited in the level of visibility they can offer. Usually we blame the browser vendors for not providing the APIs to dig deeper, but that’s not the case anymore. The Navigation Timing API is a huge step forward to standardize the performance data available in JavaScript. What’s really missing now is the visibility into what is plaguing many unoptimized sites: back end performance.

90% of #webperf posts to WebPagetest forums last week were first-byte time issues. Scary how bad it frequently is (10+ sec)

Patrick Meenan, the creator of WebPagetest, noted in December 2012 that 90% of issues on the forums are time to first byte (TTFB) problems. TTFB is the time it takes to make the first request until the first bit of content is received. This includes things like DNS resolution, TCP connection, SSL negotiation, but also server processing time. “Server processing time” sounds vague, because it is. What exactly is going on here? Why is it taking so long?

We already have tools to debug back end performance issues. The discipline of Application Performance Management (APM) can give us the necessary insight into back end performance bottlenecks. This data is traditionally locked away in a DevOps admin interface.

Performance testing is a multi-disciplinary challenge. We need tools that can bridge the gap between front and back end performance testing.

Let’s get the ball rolling and talk about what needs to be done to accomplish this. What HAR files did for front end performance, we need a standard data interchange format for back end performance as well. With this data available in a consumable way, tools like WebPagetest will better be able to paint a more complete performance picture.

Want to get involved? Leave a comment or participate in the thread on the Google+ Web Performance community.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>