IIS Web Transactions Test

Whenever users to your mission-critical web sites (on an IIS web server) or web services (overlying an IIS web server) complain of slowdowns, the first step to troubleshooting these issues is identifying which specific transaction(s) to the web sites is causing the slowdown. For this, you will have to periodically monitor the responsiveness of key transactions to your web sites, so as to quickly and accurately identify slow transactions. The IIS Web Transactions test helps you achieve this. This test monitors user-configured transaction patterns, captures the response time of each configured pattern in real-time, compares these actuals with the desired levels of responsiveness (which is also configurable), and thus isolates and proactively alerts you to slow transactions.  

Note:

To make sure that this test reports measures, do the following:

  • Configure a Web Server role on the target Windows 2008 server.
  • Install and configure Advanced Logging for the IIS web server operating on Windows 2008

Target of the test : An IIS web server

Agent deploying the test : An internal agent;

Outputs of the test : One set of results for every name configured

Configurable parameters for the test
  1. TEST PERIOD - How often should the test be executed
  2. Host - The host for which the test is to be configured
  3. Port - The port to which the specified host listens
  4. name, pattern, threshold value - Using these text boxes, you can configure the URL patterns for the transactions to be monitored by this test. You can group a set of related/similar patterns under a common head - a display name for this group head can be provided in the name text box; this display name will appear as a descriptor of the test in the eG monitoring console. In the pattern text box, you can configure the transaction patterns that are to be grouped under the specified name. Multiple transaction patterns can be separated by a semi-colon. Wild card characters can be used while configuring these patterns. For example, to monitor all transactions with the extension html or jsp, your pattern specification should be: *.html;*.jsp. In the threshold value text box, specify the response time value (in seconds), which should be violated, for a transaction to be counted as a 'slow transaction'.  All transaction patterns grouped under a given name will be governed by the threshold value specified.

    You can, if you so need, configure multiple display names, patterns, and threshold values for monitoring. To enable you to configure the multiple values easily, the eG administrative interface provides a special page. To access this page, click on the Click here hyperlink, which appears just above the parameters of this test in the test configuration page. Refer to the Configuring Multiple URL Patterns for Monitoring topic to know how to use this special page.

  5. DETAILED DIAGNOSIS - To make diagnosis more efficient and accurate, the eG Enterprise suite embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

    The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

    • The eG manager license should allow the detailed diagnosis capability
    • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Request rate:

Indicates the rate of requests to this transaction.

Requests/Sec

 

Requests processed:

Indicates the number of requests to this transaction during the last measurement period.

Requests

 

Successful responses:

Indicates the percentage of responses with the response code of 200.

Percent

Typically, successful requests are indicated using the response code 200 - 299.

Redirects:

Indicates the percentage of responses with the response code of 300.

Percent

300 responses could indicate page caching on the client browsers. Alternatively 300 responses could also indicate redirection of requests. A sudden change in this value could indicate a problem condition.

Responses with Status 400:

Indicates the percentage of responses with the response code of 400.

Percent

A high value indicates a number of missing/error pages.

Responses with Status 500:

Indicates the percentage of responses with the response code of 500.

Percent

Since responses with a status code of 500-600 indicate server side processing errors, a high value reflects an error condition.

Min response time:

Indicates the minimum response time of this transaction.

Secs

 

Max response time:

Indicates the maximum response time of this transaction.

Secs

 

Avg. response time:

Indicates the average response time for all requests to this transaction.

Secs

A low value is desired for this measure. A sudden or steady increase in this value could indicate a problem with the transaction.

Data transmitted:

Indicates the total data transmitted by this transaction.

KB

 

Avg. data transmitted:

Indicates the data transmitted by this transaction on an average.

KB

 

Slow responses:

Indicates the number of requests to this transaction with a response time greater than the specified threshold value.

Number

Ideally, the value of this measure should be 0. A non-zero value indicates the existence of one/more slow transactions. Comparing the value of this measure across transactions will quickly point you to the transactions that are very slow.

Using the detailed diagnosis of this measure you can view the complete details of the slow transactions. 

Slow response ratio:

Indicates the percentage of requests to this transaction that were serviced slowly - i.e., the percentage of requests with a response time greater than the specified threshold value.

Percent

A very low value is desired for this measure.

When users complaint of slowdowns while trying to access a web site (on the monitored IIS web server), you may want to compare the value of this measure across transactions to know which transaction is the slowest, and hence could be causing the slowdown.

Avg. response time for slow responses:

Indicates the average response time of the slow requests to this transaction.

Secs

 

Slow response threshold:

Indicates the threshold value configured for this transaction.

Secs

 

Using the detailed diagnosis of the Number of slow requests measure you can know when the slow transactions occurred, identify the users who initiated the slow transactions, the IP address from which the transaction requests were received, and the URL that was accessed to execute the transaction. The response time registered by the transaction whenever it occurred will also be displayed, along with the data transmitted and received. With the help of this information, you can analyze why the transactions experienced slowdowns and initiate corrective action.

Figure 1 : The detailed diagnosis of the Number of slow requests measure

Note:

Sometimes, the Advanced Logging module of IIS may not be able to log the username information related to web transactions. In such cases, no values will be displayed in the username column of the detailed diagnosis of the IIS Web Transactions test (see Figure 3.9). The workaround for this issue is provided below:

  1. Login to the IIS host.
  2. Open the C:\Windows\System32\inetsrv\config\applicationHost.config file in a text editor.
  3. Locate the following line in the file:

    <field id="UserName" sourceName="UserName" sourceType="RequestHeader" logHeaderName="cs-username" category="Default" loggingDataType="TypeLPCSTR" />

  4. Change the sourceType value to “BuiltIn” instead of “RequestHeader” as shown below:

    <field id="UserName" sourceName="UserName" sourceType="BuiltIn" logHeaderName="cs-username" category="Default" loggingDataType="TypeLPCSTR" />

  5. Save the file.

Configuring Multiple URL Patterns for Monitoring

To enable administrators to easily configure the Slow Transactions test with multiple names, patterns, and threshold values, the eG administrative interface offers a special page. To access this page, you need to click on the Click here hyperlink, which will be available just about the parameters of this test in the test configuration page (see Figure 2).

Figure 2 : Configuring the Slow Transactions test

Doing so will invoke Figure 3, using which multiple URL patterns can be configured

Figure 3 : Configuring multiple URL patterns

To do so, follow the steps below:

  1. Provide a display name for related/similar URL patterns in the name text box. This display name will appear as a descriptor of the test in the eG monitoring console.
  2. In the pattern text box, you can configure the transaction patterns that are to be grouped under the specified name. Multiple transaction patterns can be separated by a semi-colon. Wild card characters can be used while configuring these patterns. For example, to monitor all transactions with the extension html or jsp, your pattern specification should be: *.html;*.jsp.
  3. In the threshold value text box, specify the response time value (in seconds), which should be violated, for a transaction to be counted as a 'slow transaction'.  All transaction patterns grouped under a given name will be governed by the threshold value specified.
  4. To add another specification, click on the encircled '+' button in Figure 3. This will invoke another row, where you can provide another name, associate a set of patterns with that name, and configure a threshold value for those patterns.
  5. To delete a specification, simply click on the encircled '-' button at the end of every row in Figure 3.
  6. To clear all your specifications at one shot, click on the Clear button in Figure 3.
  7. To save the changes, click on the Update button.
  8. You will then return to the test configuration page, where you can view all your specifications (see Figure 4).

Figure 4 : The Slow Transactions test configured ith multiple URL patterns