| By Dietrich Kappe | Article Rating: |
|
| May 7, 2007 04:00 AM EDT | Reads: |
4,416 |
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.
Published May 7, 2007 Reads 4,416
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Dietrich Kappe
Dietrich Kappe is a co-founder and the CTO of Pathfinder Development, a firm that combines User Experience Design and Agile to speed software product development. He published one of the first 100 public websites and launched one of the first Java Servlet-based web applications. He has been a software engineer for two decades, a frequent open source contributor, and has developed applications for the Media, Financial Services, Insurance and Healthcare industries.
- Kindle 2 vs Nook
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Windows 7 – Microsoft’s First Step to the Cloud
- Ulitzer Provides a Powerful Social Journalism Platform
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Open Source Mobile Cloud Sync and Push Email
- Kindle 2 vs Nook
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- US Post Office Hops a Ride on NetSuite’s Cloud
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Building a Drag-and-Drop Shopping Cart with AJAX
- What Is AJAX?
- Google Maps! AJAX-Style Web Development Using ASP.NET
- Flashback to January 2006: Exclusive SYS-CON.TV Interviews on "OpenAjax Alliance" Announcement
- AJAXWorld Conference & Expo to Take Place October 2-4, 2006, at the Santa Clara Convention Center, California
- AJAX Sponsor Webcasts Are Now Available at AJAXWorld Website
- How and Why AJAX, Not Java, Became the Favored Technology for Rich Internet Applications
- "Real-World AJAX" One-Day Seminar Arrives in Silicon Valley
- AJAXWorld University Announces AJAX Developer Bootcamp
- AJAX Support In JadeLiquid WebRenderer v3.1
- Where Are RIA Technologies Headed in 2008?
- Struts Validations Framework Using AJAX



































