Welcome!

AJAX & REA Authors: John Funnell, Bob Little, Kevin Hoffman, Maureen O'Gara, Onkar Singh

Related Topics: AJAX & REA

AJAX & REA: Article

Slow Cool Ain't Cool

A real user-centric approach to managing AJAX application performance

The computing power of the user's computer also plays a critical role in delivering acceptable performance. Executing DOM methods or changing CSS values in response to AJAX application requests may require the browser to re-lay out or redraw the page constantly. These activities tax the computing power of the user's PC and could impact application performance as perceived by the end user.

Looking beyond the user's browser and PC, the network connectivity between the end user and the rest of the application infrastructure also plays an important role in delivering the AJAX application in a timely manner. Because of constant JavaScript calls to the server and the server's response across the Web cloud, it is easy for AJAX applications to lose their "zippiness" when there is a network connectivity issue. Similar to the user-side issues mentioned earlier, this is another key area of concern over which IT has limited control but which could have a dramatic effect on whether the cool AJAX application is zipping along, or hiccupping.

Considering how each real user's browser, PC and network connectivity can impact AJAX application performance, it is critical that IT takes into account latency or delays that could happen at the "last mile" by measuring application performance directly at each real user's browser. Today's "workhorse" for Web application performance monitoring - synthetic monitoring services - are not capable of providing needed visibility into performance issues faced by real users of Web applications. A synthetic monitoring service provider allows IT to record a sample end-user session or script, which is then replayed periodically from various geographic locations to collect the response time the Web site takes to fully respond.

The one major limitation of the synthetic monitoring service approach is that the collected data is not "real." The synthetic script is executed by a monitoring node operated by the service provider that is most definitely not representative of the real user's (or even an average user's) browser or browsing session. As a result, it is impossible to infer the application performance as experienced by each real user from these synthetic measurements.

Consumers are demanding a better Web surfing experience as evidenced by the penetration of broadband connectivity into homes. As of the end the 2007, Parks Associates reported that over 50% of U.S. households have broadband connectivity. Similarly, Gartner reported that nearly 45% of households in Western Europe have broadband access. In some forward-thinking Asia-Pacific countries like Korea, the penetration rate even reaches into the upper eighties. With higher bandwidth comes higher expectation of near-instantaneous response time. Unfortunately, bandwidth is just one of many factors that could impact the delivery of superior Web application performance. Problems can (and will) occur:

  • Inside the data center at any of the Web, application, or database tier
  • At a particular physical or virtual server tasked with serving up the application content or processing the transaction
  • Within an application due to hidden bugs or performance bottlenecks among the tens of thousands of method calls or SQL queries
  • Because of incompatibility, patch level differences or configuration requirements between the code and the underlying computing platform/server or operating system running on the production server
  • With a third-party Web service call to fetch content, process payment, etc.
  • Due to the interaction of the above infrastructure or application elements

Even if the real users call to complain about performance problems (which is highly unlikely, since competing sites are just a click away), IT still does not have any actionable information to help them pinpoint the cause of problems. Managing AJAX performance could be a "mission impossible" - or at least requires a cast of thousands to pull off - if IT does not adopt a new end-to-end approach to AJAX performance management.

Follow the Money and Other Gumshoe Techniques
This new approach is similar to the investigative approach described in many detective stories - with a twist, of course. To solve the perfect crime, the detective has to find the loot and follow the money back to the source to uncover the villain behind the crime.

Managing the performance of a complex AJAX application is similar. IT has to be able to:

  • Detect. Directly measure AJAX application performance at the browser of every real user, taking into account the difference in performance from one user to another due to variations in browser, PC, or connectivity.
  • Isolate. Receive real-time performance insight into all infrastructure and application elements from browser to database that impact the delivery of the AJAX application so that performance issues can be quickly triaged and their causes identified and resolved.
  • Optimize. Identify performance bottlenecks (e.g., slow, but frequently used method calls) based on actual usage to maximize the return of investment for application optimization activities.

Armed with this information, IT can eliminate the need to gather experts with various silo expertise to re-create and debate the problem. They can proceed directly to implementing a fix, cutting the time to problem resolution by half, or more. Data on performance bottlenecks can also be summarized so developers can understand where in the application they can earn the most return for their tuning or code optimization effort.

Managing the performance of complex AJAX applications is certainly not a trivial endeavor. If IT does not start with the right approach for monitoring and diagnosing performance problems, it will certainly turn any attempt to deliver better user experience using AJAX into a sluggish spectacle.

Yes, cool is good, but slow cool ain't so hot!

More Stories By Hon Wong

Hon has served as CEO of Symphoniq Corporation since its inception. Prior to joining Symphoniq, Hon co-founded NetIQ, where he served on the board of directors until 2003. Hon has also co-founded and served on the board of several other companies, including Centrify, Ecosystems (acquired by Compuware), Digital Market (acquired by Oracle) and a number of other technology companies. Hon is also a General Partner of Wongfratris Investment Company, a venture investment firm. Hon holds dual BS in electrical engineering and industrial engineering from Northwestern University and a MBA from the Wharton School at the University of Pennsylvania.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.