Ajax Experience: Ryan Breen – Ajax Performance Analysis

October 24th, 2007

See Ryan’s presentation slides in PDF form.

Ryan Breen is VP Technology at Gomez. He blogs at his own site at ajaxperformance.com

Ryan divides performance monitoring tools into two categories:

Network Visualization

  • Firebug
  • Webkit Web Inspector
  • IBM Page Detailer

Client Side Profiling

  • JSLex
  • Firebug and Firebug lite
  • Dojo.Profile

“The largest opportunity for optimization exists at the network layer”

Latency is the target for best optimization ROI. Techniques include:

  • fewer requests
  • pack more info into each request
  • reuse connections
  • increase connection parallelism
  • minimize bandwidth use
  • respect caching but don’t rely on it

Fewer Requests
A great way to make fewer requests is with image concatenation, whereby a bunch of images are bundled into a single larger image, and lay out the sub-images via css viewports into the large image.

Another way is to bundle multiple Javascript and CSS files together.

Connection Persistence
usually broken by firewall configs – test from outside your environment.

Connection Parallelism
HTTP spec allows two concurrent browser connections to each server.
Using multiple hostnames per server, you can get two connections per hostname and increase the number of parallel connections allowed.


HTTP Compression (gzip, deflate)
JS Obfuscation

Don’t overlook the simple things
when linking to a directory, remember the trailing slash so the server doesn’t have to redirect the browser

There’s a bit more as you will see when you look at the presentation PDF, and he gives some demos of code profiling in action – I imagine you can tell already that Ryan is extremely knowledgeable about and experienced with browser application performance analysis.

Comments are closed.