IBM Support

Monitoring IBM HTTP Server connections

Troubleshooting


Problem

The Server status page of IBM HTTP Server is a convenient tool for monitoring HTTP Server active and idle connections.

Resolving The Problem

When addressing problems with IBM WebSphere Application Server, such as slow response time and apparent application "hangs", it is useful to understand the state of the Web server as well as the Application Server. This understanding can help determine where bottlenecks occur.

Both Apache and the IBM HTTP Server offer a convenient tool for monitoring HTTP connections. The Server status page displays a snapshot of connections from the Web server perspective. The following list contains valid states for the Web server connections:

"_"Waiting for connection
"S"Starting up
"R"Reading request
"W"Sending reply
"K"Keepalive (read)
"D"DNS lookup
"L"Logging
"G"Gracefully finishing

As you refresh the page, you see mostly "." (idle connections) or "_" (connections that have not been started yet, but which are within the maxclient settings), with a few "W", "K" "S", or "R" connections that represent actual requests in progress. The number of in-progress connections goes up and down as you refresh the page. If this number is steadily rising, it can indicate a problem, unless you actually have increasing traffic.

For example, connections staying in a "W" state can occur when clients terminate a transaction in mid-write. These connections return to "." after the HTTP timeout value.

A large number of "W" (writing) connections can indicate a problem responding to clients that are interrupted or disconnected before receiving a complete response.

Comparing the number of transactions in progress to the MaxClients directive in the httpd.conf file, and to the max connections setting of WebSphere Application Server servlet engines can also point to a bottleneck.

To add more detailed information to the server status page, add the ExtendedStatus On directive to your configuration file (outside of the Location tags). This addition enables you to see the process IDs of individual connections so that you can use other tools to investigate them. In addition, the "SS" column indicates how many seconds have passed since the Web server thread started processing the request. This is useful when you see a connection listed in a "W" state for a long period of time.


Enabling the server status page
Make the following updates to the Web server httpd.conf file to view the server status page for IBM HTTP Server:

For Microsoft Windows users:
  1. Uncomment the following line:

  2. LoadModule status_module modules/ApacheModuleStatus.dll

  3. Uncommment the server-status location section and change the "allow from" to localhost client ipaddress or domain. Also, Uncomment or add the "ExtendedStatus On" directive:

  4. <Location /server-status>
    SetHandler server-status
    order deny,allow
    deny from all
    allow from localhost
    </Location>
    ExtendedStatus On

    This example shows how to limit access of the server-status page to a browser running locally on the machine where the Web server is also running.

For UNIX users:
  1. Uncomment the following line:

  2. LoadModule status_module libexec/mod_status.so

  3. For Apache or IBM HTTP Server V1.3 releases only, uncomment the following line or add this line if it is currently missing:

  4. AddModule mod_status.c

  5. Uncommment the server-status location section and change the "allow from" to the localhost client ipaddress or domain. Also, uncomment or add the "ExtendedStatus On" directive:

  6. <Location /server-status>
    SetHandler server-status
    order deny,allow
    deny from all
    allow from ibm.com
    </Location>
    ExtendedStatus On

    This example shows how to grant anyone with access to the domain the ability to see the page. See the previous Windows example for local access only.

After making these changes, restart the Web server, then browse the
http://domain-name/server-status page. You can see a display of current connections and their states: reading, responding, idle, and so forth.

To see an example of server-status display visit: http://www.apache.org/server-status

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"IBM HTTP Server","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.5;8.0;7.0","Edition":"Standard;Advanced","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21008489