Summary
YSlow, a Firefox plug-in, is a new tool from Yahoo's performance team that not only measures client-side page performance, but also provides suggestions on how to improve a site's perceived responsiveness.
Advertisement
Yahoo's Web performance team released a Web site performance analysis tool, YSlow. YSlow plugs into the popular Firebug debugging environment and works within the Firefox browser. Once installed, it creates a new set of tabs inside Firebug focusing on client-side performance metrics.
When YSlow analyzes page downloads, it applies one of the Thirteen Simple Rules for Speeding Up Your Web Site, a set of heuristics aimed to detect and improve the perception of Web site performance. As a result, YSlow not only identifies why a page might load slowly, but also gives specific suggestions on how to make page performance faster:
Many web pages are now moving to a "Web 2.0" style, where the components in the page and the page itself are built dynamically in the browser using JavaScript. YSlow analyzes the page's components, including downloaded components, using advanced techniques. For example, the front page of Yahoo! News might display an image ... that dynamically rotates through one of four "top photos of the day" by setting the image's src to the different image URLs. YSlow measures performance for sites that use these advanced techniques and reports when the dynamically loaded components are missing an Expires header.
YSlow calculates the total size of the web page for both empty cache and primed cache scenarios, as well as information about cookies. YSlow lists all the components in the page including their type, URL, Expires date, gzip status, load time, size, and ETag. You can also view the HTTP response headers for any component.
One of the key tenets of YSlow, and of Yahoo's Thirteen Rules, is that scaling a Web site's performance must be considered from the viewpoint of the user. Yahoo's performance team, for example, measured that client-side performance is often the bottleneck in users' perception of a site's overall responsiveness. Although there are well-known techniques to improve server-side performance, much less information is available on client-side performance tuning.
What tools and techniques do you use to measure client-side performance of your Web applications?