Microsoft's IIS web server is at the heart of IT infrastructures in various domains - Healthcare, Banking, Trading, Logistics, etc. To ensure scalability and high performance, most web sites are being architected to use the multi-tier model - i.e., with the IIS web server functioning as the front-end, the middleware application server (J2EE, .Net based, etc.) that hosts the business logic functioning as the mid-tier, and a database server (SQL, Oracle, etc.) as the backend. In such architectures, the IIS web server plays a pivotal role since all users to the other tiers are routed via the web server and hence, any slowdown or problem in the web server tier can adversely impact the end user experience and hence the need for IIS Monitoring.
The availability of a web site and the response time for user accesses to the site are the most critical metrics of web performance. Both these metrics may vary depending from one website to another and even from one transaction to another. For instance, one set of application components may come into play when a user logs in to an eBanking site, while a set of components may be invoked when a user transfers funds between his/her accounts. Consequently, an IIS performance monitoring solution must be able to report the availability and response time for individual user transactions to a web site.
Monitoring Web Applications
Most web monitoring solutions rely on request emulation to monitor web transactions to a site. These request emulators generate synthetic requests periodically from one or more locations to the site and monitor the availability and response time for each web transaction. This simple yet elegant solution provides the external perspective of the site.The main limitations of a request emulation-only approach are:
- This approach cannot be used to monitor the most critical transactions to a web site e.g., a user making a payment, a user registering to a web site, etc.,
- Moreover, this approach mainly samples the functioning of the target environment. If a specific transaction is failing, say 10% of the time, the emulation approach only has a 10% chance of reporting the problem. Consequently, this approach is able to consistently detect and report problems only when they are severe enough to impact the end user performance. i.e., a request emulated approach only enables reactive monitoring.
The eG IIS Monitor
An IIS monitoring example showing monitoring of web transactions
The eG IIS monitor adopts a unique two-pronged approach for web transaction monitoring. The external agent uses request emulation to assess the user experience from different locations. By doing so, the external agent captures the effect of the network latency and the server-side processing time on the end user experience.
To quantify the server processing times for real user requests (not emulated requests), the eG internal agent deploys a proprietary web-adapter technology. This technology enhances IIS web servers with the capability to track HTTP/HTTPS requests to a web server and the corresponding responses. For each transaction that is configured for monitoring, the web adapter analyzes the request URLs and responses to report various metrics relating to individual web transactions in real-time.
Comparison of response times across tiers to identify performance bottlenecks
The monitoring is done in an implementation-independent manner, as a result of which eG agents are able to monitor Java (Servlets, EJB, JSPs) and other non-Java implementations (ASP, PHP, CGI, etc.) with equal felicity. Since it is able to monitor real-user transactions to web servers in real-time, eG Enterprise's web adapter technology enables the agents to proactively monitor and quantify all anomalies that may occur in a web infrastructure. The ability to offer real-time monitoring of 100% of the real user transactions, without the need for explicit, expensive logging is a key distinguishing feature of eG Enterprise's IIS server monitoring capability. eG Enterprise also offers integrated monitoring of heterogeneous web servers including Microsoft IIS, Apache, SunONE, IBM HTTP and Oracle web servers.
What the eG IIS Monitor Reveals
||Application that can be monitored remotely (i.e., agentless)
- Is the web site available for user accesses from different locations?
- What is the user experience (i.e., response time for user accesses) to the site from different geographic locations?
- Is a slowdown due to increased network latency or due to increased server-side processing?
|Internal web transaction monitoring
- How are the critical transactions of a web site functioning?
- What is the request rate for each web transaction?
- What is the average response time for each web transaction?
- Are there many aborts for a web transaction?
|IIS Web site monitoring
- What is the status of the different web sites hosted on an IIS web server?
- Are there many errors (404, 500, etc.) detected on the web server?
- Are the servers supporting the web infrastructure adequately sized?
- Are there usage trends that need to be accounted for future capacity planning?
- Is an increase in server-side processing time due to the web server or due to the middleware application server or due to the database?
- Is the load being effectively balanced across all the IIS web servers?
- Are the critical IIS web server processes up and running?
Benefits of the eG IIS Performance Monitoring Software
- Obtain deep insights into the TRUE end user experience
- Receive proactive, real-time alerts of server availability and performance problems and get to know of any anomalies before they impact the business service performance
- Analyze and correlate web site performance in context - taking into account the network, middleware and database performance
- Historical analysis and trending of web services usage enables effective capacity planning