2007年5月17日星期四

Billy Newport on the hidden costs of AJAX

In his blog, Billy Newport talks about how AJAX has advanced the state of website development. He also goes on to point out that this advancement is not without it's costs. To do it's job AJAX enabled applications interact with the server a lot more frequently then normal web applications do.
Some AJAX sites fetch all the data and then display it in an interactive fashion. Others will fetch a reduced set of data and then pull the missing data when it's requested. It's the latter where care needs to be taken.In analyzing how AJAX works, Billy observed that as good as lazy fetching was from a users point of view, this must implemented carefully. Too many fetches asking for very small datasets can over burden an application server. When that happens the server will not be as responsive. This effect will negate the advantages of using AJAX.
Each call to the server has fixed overhead. Each fetch from the database has a fixed cost. RPCs that request small amounts of data generate the highest overhead in these terms. If they were combined to fetch larger blocks of data with fewer requests then the overhead is lower.The net result is that developers have to be mindful of these two stressors as they integrate AJAX into their web enabled applications. As a final thought, Billy acknowledges the advancement offered by AJAX but opines that it is time to start talking about patterns for developers to follow. Since patterns come out of an aggregation of similar use cases, we can start the process of identifying potential patterns by asking; are you using AJAX today and if so how is it being used?
Threaded replies
·
Billy Newport on the hidden costs of AJAX by Kirk Pepperdine on Thu Apr 20 07:45:13 EDT 2006
·
Possible pattern by Archimedes Trajano on Thu Apr 20 11:26:31 EDT 2006
·
Don't forget GZIP encoding by Nick Main on Sat Apr 22 19:53:03 EDT 2006
·
Don't forget GZIP encoding by Archimedes Trajano on Mon Apr 24 23:09:43 EDT 2006
·
A real world experience or example by Raju Chiluvuri on Sat Apr 29 13:19:33 EDT 2006
·
Backend locking by Pavel Sosin on Sun Apr 30 01:58:53 EDT 2006
·
Not always by Billy Newport on Mon May 01 14:07:54 EDT 2006
·
Backend locking by Raju Chiluvuri on Thu May 04 05:25:27 EDT 2006
·
Development Complexity = Inefficiency by Dietrich Kappe on Mon May 01 16:28:48 EDT 2006

没有评论: