Welcome!

Cloud Expo Authors: Jeremy Geelan, Helen Ching, Adrian Bridgwater, Pat Romanski, Jim Kaskade

Related Topics: Web 2.0

Web 2.0: Article

The Performance Challenges of Bringing Web 2.0 to the Enterprise

New techniques like virtualizaton and cloud computing ultimately benefit

In normal web-based applications, it's easier to know where the performance challenges lie. There are always major web pages that get the focus of our attention. They might be landing pages, the first place every user goes on the web site, or for particular areas of the web site, like a home page or a personalized portal page.

There are also pages that are computationally intensive - the page that completes a purchase, that submits a multi-page form, or that completes some major set of steps. These are all pages that naturally end up as focal points for performance tuning. But Web 2.0 applications, such as wikis, mashups, and other collaborative applications, behave differently.

Performance issues for Web 2.0 applications don't focus on specific pages, they focus on particular sets of data. For example, a new entry in the corporate wiki can generate a massive amount of work around that page, creating a performance problem. Another example could be a mashup of an application with a web front end bringing geospatial rendering to a mainframe-based data source. Suddenly the number of requests to the mainframe jumps a hundredfold, leading to a residual performance problem impacting users that aren't even involved in the Web 2.0 application.

Note that in both these examples, the actual issue here is a problem of scale, not performance per se. The application performed fine until a large number of users all wanted to access the same point at the same time.

The challenge of managing performance challenges in Web 2.0 application starts with instrumentation: you need to know where the performance problems lie. From there, you can start applying strategies and tactics to deal with the problem.

Instrumenting Web 2.0 Applications
The equation in Figure 1 is the Web Application Performance Equation, adopted from Sevcik and Wetzel's paper "Field Guide to Application Delivery Systems." This equation helps you break down the various elements in play when determining the performance of your Web 2.0 application.

Figure 1: The Web Application Performance Equation breaks down the various elements involved in the responsiveness of Web 2.0 Applications.

Breaking down the various elements:

  • R: Response Time, the total time (in seconds or milliseconds if you're an optimist) that a given request takes. Notice the approximation symbol (≈) beside R admits that this equation is not perfect. The values here should represent the majority of the response time, but things are missing, like DNS requests, TCP/IP negotiation times, etc.
  • Payload: The total number of bytes required to fulfill the request. For a typical web page this would include the HTML of the page, image files, CSS and JS files, etc. The payload of a web service request would contain only the header and XML document containing the data requested.
  • Bandwidth: The bandwidth in bytes per second available for transferring data. The first part of this equation, Payload over Bandwidth, is often all that people evaluate when considering Web 2.0 application performance. Based on this thinking, minimizing the size of the payload and increasing the amount of bandwidth should improve performance. Often it has minimal benefit - there are other factors in play that affect performance far more.
  • RTT: Round-Trip Time. This is the time it takes to communicate from the client end of the Web 2.0 application to the server end. It's typically measured in milliseconds, using tools like PING and TCP_PING. Round-trip times over LAN connections are typically 5-10ms. Once the Internet is involved, times can vary a great deal - within a city round-trip times can be 20-60ms. Across a country the times jump to 100ms, cross an ocean and it can rise to 300ms.
  • AppTurns: The number of additional resources needed in a given request. For an HTML page, this is all of the image files, CSS and JS files, and so on. Modern web pages typically have 50-60 resource files associated with them. In a web services request, there are no additional AppTurns.
  • Concurrent Requests: The number of requests a given web browser can handle at once. Internet Explorer 6 and 7 allows two requests to execute simultaneously, so two images can be downloaded at once. FireFox allows four requests and Internet Explorer 8 allows six. For a typical web page request, the first RTT in the equation accounts for the time to retrieve the page. Then the AppTurns and RTT over Concurrent Requests portion of the equation computes the time to retrieve the rest of the resource files. Presuming a 50ms round-trip time, 50 resource files and using IE7, you can expect 1.25 seconds just for round-trips - this does not account for the actual size of the files; that is handled in the payload section of the equation.
  • Cs: Compute time on the Server. This is the processing time for rendering a web page, computing the web service request, etc. Time to retrieve data from databases, making out-of-process calls to external services, and so on are all covered under server compute time.
  • Cc: Compute time on the Client. Finally, the last part of the equation adds in the time it takes the client to render the response. For a web page, this is the time to actually draw and compute the page. Other clients have similar rendering challenges. Compute time on the client is one of those secret costs of Web 2.0 applications, often forgotten about.

More Stories By Richard Campbell

Richard Campbell is a Microsoft Regional Director for British Columbia and is recognized as a Microsoft Most Valuable Professional (MVP) in the area of ASP.NET development. His PWOP Productions creates a variety of multimedia programs including ".NET Rocks!, the Internet Audio Talk Show for .NET Developers," a podcast produced twice a week for about 150,000 listeners. Richard has contributed nearly 300 Advisor columns to Microsoft Access Advisor, and is the author of courseware for AppDev's national SQL Server 7.0 training seminars and video series. Since 1995, Richard has been a regular speaker on the technical-conference circuit and, in 2006, was ranked the top speaker at Tech Ed Asia in Kuala Lumpur, Malaysia. The son of an electrical engineer, Richard was tinkering with microcomputers at age 10 and, by 16, had started his own business developing custom software.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
shirley 01/08/09 09:54:30 PM EST

SharePoint 2007 can support Web 2.0.
I think Microsoft Office SharePoint Server 2007 is something you definitely want to look at. We specialise in this. There is more information on this at http://www.nsynergy.com/Products/SharePoint/Pages/default.aspx or please mail to info@nsynergy.com.

Cloud Expo Breaking News
With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what e...
"Having been in the IT field for many years, I believe the cloud computing chapter in the industry is an exciting one and I am proud to be a part of it," said National Reconaissance Office (NRO) Chief Information Officer Jill T. Singer Tuesday, as it was announced that she was one of 10 winners of the 2012 CloudNOW "Top Ten Women in Cloud" Awards.
2011 was a year of rapid adoption for public and private cloud services. Instant and on-demand server provisioning was the driving force behind the massive growth. On top, cloud server templates and script automation simplified application installation for simple and pre-defined application stacks, but have not targeted more complex enterprise application environments. In his session at the 10th International Cloud Expo, John Yung, CEO of Appcara, will discuss how 2012 will be the year for app...
As more enterprises are adopting clouds, the nature of cloud computing is changing. Previously, clouds were used to test applications or for non-mission critical applications. Today, enterprises are using clouds for cost-saving advantages and launching more mission critical applications that have defined performance needs. In his session at the 10th International Cloud Expo, Eric Shepcaro, CEO and Chairman of the Board of Telx, will discuss how distributed computing has many advantages. It wou...
Building a cloud computing environment with on-demand access to compute, network, and storage resources requires an elastic infrastructure at multiple levels. Virtualization combined with x86 servers has transformed the way we scale out compute resources. Unfortunately, legacy Fibre Channel and iSCSI storage architectures are rooted in rigid mainframe-era designs, and are fundamentally mismatched with the dynamic, shared modern data center. In his session at the 10th International Cloud Expo, ...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else h...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what e...
With Big Data Expo 2012 New York (co-located with 10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where ...
With Big Data Expo 2012 New York (co-located with 10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
Can you bring services from the cloud to your customers faster and have them adopt it with ease of use or bring the power of bundled services to the fingertips of your clients without creating new rigid ‘apps stove pipes'? Do you want to prevent your business running away to public and unmanageably immature cloud services? In his session at the 10th International Cloud Expo, Hans van de Koppel, Sr. Enterprise Architect at Capgemini, will take Cloud Expo delegates to the developing world of clou...