Welcome!

.NET Authors: Bruce Armstrong, Marek Miesiac, Jason Dolinger, Yeshim Deniz, Liz McMillan

Related Topics: .NET

.NET: Article

Needle in an App Stack

Optimizing .NET Web application performance

Although the .NET Framework simplifies the challenge of developing distributed Web applications, it increases the complexity of deploying, and then managing, those applications. The adoption of Web 2.0 techniques and SOA Web Services only amplify this complexity, making performance assurance a serious challenge as applications move from a limited staging server into a full-scale production setting.

What is needed is a simple comprehensive system management approach to measuring performance from browser to database and triaging incidents. Using practical examples, this article will examine the key metrics for monitoring Web performance and the data that has to be collected and analyzed in real-time to allow IT to quickly restore performance to effectively meet service expectations.

The Web Application Performance Paradox
Simplistically, performance is a measure of the user's experience with an application. With Web applications, it has two components:

  • Response time is a measure of the amount of time an application - operating on a particular infrastructure - takes to respond to an end-user-originated action. This could be the time in seconds that an e-commerce site takes to fully render a new page on the end-user's browser that displays the shirt that the user is searching for.
  • Error rate can be measured as the probability that a user encounters a page or object error. From our previous example, the picture of the requested shirt might not be found (HTTP 404 error). As Web sites grow in complexity and sophistication from a few hundred pages to millions of pages updated daily, the probability of encountering an error will increase.

There could be other behavioral challenges to delivering Web applications. For example, is the Web site "sexy" and easy to navigate? In our e-commerce example, adding "sexy" features (e.g., allowing the potential buyer to see the shirt on a virtual mannequin that mimics his/her own body build, age, skin and hair color) might increase the chance that the shirt is purchased. However, these features add complexity to the application and place heavy demands on the infrastructure in terms of computing load and network bandwidth. As a result, Web application performance, as measured by response time and error rate, could suffer.

The first challenge of effectively managing a Web application is a thorough understanding of Web application performance. Traditionally, a certain service level target is established as part of the design objectives for the application. This service level could be expressed as, say, "fiveNines," meaning that the application is available on average 99.999% of the time or downtime of no more than 5.3 minutes a year. This goal is perhaps attainable by mature, vertically integrated phone companies, but a near-impossible goal for complex Web applications.

About Hon Wong

Hon has served as CEO of Symphoniq Corporation since its inception. Prior to joining Symphoniq, Hon co-founded NetIQ, where he served on the board of directors until 2003. Hon has also co-founded and served on the board of several other companies, including Centrify, Ecosystems (acquired by Compuware), Digital Market (acquired by Oracle) and a number of other technology companies. Hon is also a General Partner of Wongfratris Investment Company, a venture investment firm. Hon holds dual BS in electrical engineering and industrial engineering from Northwestern University and a MBA from the Wharton School at the University of Pennsylvania.

Comments (0)

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.