Asthana, Rahul wrote:
By the way, have any of you done any performance metrics on an ajax based 
implementation vs a non ajax based one?

Early on we did a proof-of-concept that did exactly this... what we found was that the AJAX version was universally perceived as being faster, even when a few cases actually weren't (i.e., client-side processing took longer than the equivalent server-side version).

The conclusions we drew were:

1. You have to strive to minimize the amount of Javascript executing as a result of each AJAX call. There is a line that when crossed means the server can actually render the whole page fresh and the browser can display it faster than AJAX+Javascript updates.

2. There is a balance you need to strike between the number of AJAX calls and size of each AJAX response... there is again a line that when crossed means that X number of small AJAX requests takes more time than one non-AJAX "transaction".

3. There is definitely tuning that needs to be done in terms of moving static resources off to the web server, making sure your AJAX responses are tight, things like that. The very biggest impact we found, recently actually, was in moving all images, CSS, Javascript and other static content off to the web server... especially when your doing AJAX and your making numerous small requests vs. one or two larger non-AJAX requests, not having to hit the web server makes a huge difference... remember that in most cases, there is a small number of connections available between the web server and app server (we had 5 I believe) even though you may have 100 connections/threads available on the web server (and probably app server). That's where we found the most significant bottleneck... we're talking making an app twice as fast just by moving static content off the app server!

4. Aside from the static content thing, this is the biggest point to emphasize: you need to get your developers thinking a different way then they probably are used to... they need to, for lack of a better way to put it, trust the client more. For instance, we had developers that insisted on putting objects in session, even though myself and other senior developers were telling them it'd be better to keep things in Javascript objects client-side... they would tell you now we were 100% right :) This isn't a criticism of them though, when your used to doing things a certain way, and they basically work well, you don't want to change, especially given what many people have historically thought about Javascript and client-side development. But once you get the mindset changing, you'll see a really huge improvement in performance of your apps because the fundamental design leads to better performance naturally.

rgds
Rahul

Frank

--
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: [EMAIL PROTECTED]
Author of "Practical Ajax Projects With Java Technology"
 (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
 (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
 Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to