jump to navigation

Performance Analysis for Ajax Applications December 7, 2009

Posted by Peter Varhol in Software development, Software tools.
trackback

Circa 2003, when I was at Compuware Corporation’s NuMega Lab, we engaged in a big debate on whether or not it was worthwhile to assess application performance on the Web client under Java.  The architect for DevPartner Java Edition advocated strongly that there was nothing interesting going on at the client from a performance standpoint.  The product manager argued that customers wanted the capability, and it shouldn’t be deprecated.

The architect won the discussion, and client profiling was removed from the product.

Now, six years later, it turns out that client performance is, in fact, very interesting, mostly because we’re executing more and more code on the client.  This includes JavaScript code and Ajax.  We may also be caching code or images on the browser, and need to know if cache misses are slowing down rendering more than the cache hits are helping.

That’s why last month’s release of dynaTrace for Ajax is a significant development for client-side developers.  dynatrace for Ajax is a free download that runs as a helper object in Internet Explorer 6, 7, and 8, and assesses the performance of client-side code, including Ajax frameworks and custom Ajax code.  Unique among performance tools, this product traces transactions through the code and looks at what happens at each step and how long it takes.

Steve Souders, Ajax expert and regular speaker at The Ajax Experience, did a brief review on it here.  He points out that because of all of the data collected and presented, the initial learning curve can be high, but ultimately it is invaluable in getting an idea of Ajax performance, and in analyzing and fixing slow code.

I’ve always been interested in application performance, because it’s like a mystery to be solved.  If performance or scalability are poor, you look for clues, and use those clues to form one or more hypotheses on the root cause of the problem.  You can write your own logger to gather these clues at some level, but to have a fine level control over the granularity of your clues and the relationship between them, a profiler or similar tool is essential.

dynatrace for Ajax is also an acknowledgement of the importance of the client, even a Web client, in application performance.  That probably wasn’t the common case six years ago, but computing architectures have a way of changing over time, and as applications change.  It will be interesting to see profiling and performance analysis continue to adapt as browsers start getting more workload through the use of smart clients using the likes of Microsoft Silverlight and JavaFX.

Advertisements

Comments»

1. Andreas Grabner - December 7, 2009

In order to make the first steps with dynaTrace AJAX Edition easier just follow the Step-By-Step Guide that walks you through an example with Google Maps: http://blog.dynatrace.com/2009/11/17/a-step-by-step-guide-to-dynatrace-ajax-edition-available-today-for-public-download/

2. Tweets that mention Performance Analysis for Ajax Applications « Cutting Edge Computing -- Topsy.com - December 7, 2009

[…] This post was mentioned on Twitter by dynaTrace software, Peter Varhol. Peter Varhol said: Performance analysis for Ajax applications. https://pvarhol.wordpress.com/2009/12/07/performance-analysis-for-ajax-applications/ […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: