YOUR FEEDBACK
Jeremy Geelan wrote: Dr von Eicken will be giving a technical session at SYS-CON's "Cloud Computing E...
AJAXWorld RIA Conference
$300 Savings Expire August 22
Register Today and SAVE!

SYS-CON.TV

2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
TOP THREE LINKS YOU MUST CLICK ON


Improving Network Performance
Real-World AJAX Book Preview: Improving Network Performance

This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs for the special pre-order price, click here for more information. Aimed at everyone from enterprise developers to self-taught scripters, Real-World AJAX: Secrets of the Masters is the perfect book for anyone who wants to start developing AJAX applications.

Improving Network Performance
Measuring Browser Network Performance
How do we measure the network performance of a Web application? There are a number of tools that can help us measure and diagnose network performance issues, but the best place to start is by taking a look at the initial page, where we load most of the JavaScript, CSS, and images that will be used during the lifetime of the AJAX application.

A useful resource for this is the Web Page Analyzer (www.Websiteoptimization.com/services/analyze/). With this online tool, you can enter the URL of the application and get an initial profile of how many resources it initially tries to load. Taking the popular Blinklist social bookmarking site as an example, we see the various statistics for the initial page of that application (www.blinklist.com/).

Take some of the recommendations of the analyzer with a grain of salt. You may have large amounts of JavaScript if your application is complex. If you have dozens or hundreds of large external resources, however, it's probably a sign that your page is too heavy.

What if your application doesn't load its resources upfront or you want more than a static snapshot? There are a number of tools available here, some browser-neutral, others browser-specific.

(An important tip when using these tools: make sure to clear your browser's cache; this will give an accurate picture of how loading a site or application for the first time will perform.) Of the browserspecific tools, there's TamperData for Firefox, which lets you modify or "tamper with" HTTP messages (https://addons.mozilla.org/firefox/966/), and for IE, ieHttpHeaders (www.blunck.se/iehttpheaders/iehttpheaders.html). Both of these tools will let you look at the browser's HTTP requests and responses in real-time, including the XML data being sent and received from XMLHttpRequest objects.

ieHttpHeaders doesn't have the same timing data as TamperData, which is unfortunate, as you won't be able to identify slow-running HTTP requests as easily. You'll have to match requests and responses by hand and calculate the difference between their timestamps to approximate how long a request took.

Among the browser-independent tools is Fiddler, an HTTP debugging proxy for the Windows platform (www.fiddlertool.com/fiddler/). You have to set your browser to use Fiddler as a proxy (which runs by default on localhost port 8888), and then view the HTTP request and response details much like the browser extensions above. Fiddler has timing data and can be used with Firefox, IE, Opera, and any other HTTP proxy.

For MacOS users, there's the commercial Charles Web Debugging Proxy, which behaves like Fiddler (www.xk72.com/charles/).

The strategy for diagnosing bottlenecks with these tools is fairly straightforward. Look for the requests that are 1) taking the longest amount of time, 2) transferring the most data and 3) occurring with the most frequency. Apply the same principle here as elsewhere in debugging and optimize the bottlenecks that will give you an order-of-magnitude improvement. Don't waste your time squeezing out fractional improvements. We'll be looking at techniques for eliminating these bottlenecks in the next few sections.

This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs, click here to order.

About Dietrich Kappe
Dietrich Kappe is a co-founder and the CTO of Pathfinder Associates, LLC, a hybrid user experience design and RIA development shop. He published one of the first 100 public Web sites and launched one of the first Java servlet-based Web applications. He has been a software engineer for over 17 years, a frequent open source contributor, and has developed applications for the media, financial services, insurance and health care industries. Dietrich is a technical speaker on Agile software development, AJAX, and business rules technology. He publishes the Agile AJAX (http://blogs.pathf.com/agileajax/) and Business Rules (http://blogs.pathf.com/business_rules/) blogs and is a contributor to the RealRules Blogzine (http://www.realrules.info/).

LATEST AJAXWORLD RIA STORIES
Curl announced the availability of three interactive training courses based on the Curl Web-Based Training (CurlWBT), a standards-based e-learning framework implemented in the Curl language that supports the deployment of Web-based training materials for the Curl Rich Internet Ap...
Visual WebGUI (VWG) discussed live with Jeremy Geelan at the 5th International AJAXWorld Conference in NYC. Visual WebGui Guy Peled from GIZMOX explains how VWG is an open source rapid application development (RAD) framework for line-Of-business AJAX & Silverlight GUIs. "It cuts ...
Neotys is a leader in easy-to-use, cost effective stress and load testing tools for Web 2.0 Applications. Since 2005, Neotys has been helping its clients in more than 40 countries to ensure their applications' reliability, performance and quality. NeoLoad, load testing solutio...
ILOG delivers software that empowers their customers to make better decisions, faster. Over 2,000 global corporations and more than 400 leading software vendors rely on ILOG's visualization, business rule management system and optimization software components to achieve dramatic ...
MacsDesign Studio LLC, developers of the cross-platform help desk software solution, Web Help Desk, announced the availability of Version 9, a major update to its flagship service management solution. Web Help Desk Software Version 9 adds rules-based voting and approval process f...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE