Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning Guide

- Previous: Transaction Service Settings
- Next: Tuning the HTTP Service

## Monitoring the HTTP Service

Enable monitoring statistics for the HTTP service using either Admin Console or `asadmin`. In the Admin Console, the monitoring level (LOW or HIGH) has no effect on monitoring the HTTP Service.

With `asadmin`, use the following command to list the monitoring parameters available:

    list --user admin --port 4848
     -m server-instance-name.http-service.*

where server-instance-name is the name of the server instance.

Use the following command to get the values:

    get --user admin --port 4848 -m server.http-service.parameter-name.*

where parameter-name is the name of the parameter to monitor.

Statistics collection is enabled by default. Disable it by adding the following property to `domain.xml` and restart the server:

    <property name="statsProfilingEnabled" value="false" />

Disabling statistics collection will increase performance.

You can also view monitoring statistics with the Admin Console. The information is divided into the following categories:

- General HTTP Statistics (http-service)

- DNS Cache Information (dns)

- Connection Queue

- File Cache Information (file-cache)

- Keep Alive (keep-alive)

- Thread Pool (pwc-thread-pool)

### General HTTP Statistics (http-service)

The Admin Console provides the following performance-related HTTP statistics:

- Average load for last minute

- Is VirtualServer Overflow enabled?

- HttpServer Version

- HttpServer ID

- Rate at which bytes are being received

- Maximum amount of threads

- HttpServer Time Started

- Maximum amount of virtual servers

- Is profiling enabled?

- Time in seconds HttpService has been running

- Average load for last 15 minutes

- Average load for last 5 minutes

- Rate at which bytes are being transmitted

### DNS Cache Information (dns)

The DNS cache caches IP addresses and DNS names. Your server’s DNS cache is disabled by default. In the DNS Statistics for Process ID All page under Monitor in the web-based Administration interface the following statistics are displayed:

#### Enabled

If the DNS cache is disabled, the rest of this section is not displayed.

By default, the DNS cache is off. Enable DNS caching with the Admin Console by setting the DNS value to “Perform DNS lookups on clients accessing the server”.

#### CacheEntries (CurrentCacheEntries / MaxCacheEntries)

The number of current cache entries and the maximum number of cache entries. A single cache entry represents a single IP address or DNS name lookup. Make the cache as large as the maximum number of clients that access your web site concurrently. Note that setting the cache size too high is a waste of memory and degrades performance.

Set the maximum size of the DNS cache by entering or changing the value in the Size of DNS Cache field of the Performance Tuning page.

#### HitRatio

The hit ratio is the number of cache hits divided by the number of cache lookups.

This setting is not tunable.

Note –

If you turn off DNS lookups on your server, host name restrictions will not work and IP addresses will appear instead of host names in log files.

#### Caching DNS Entries

It is possible to also specify whether to cache the DNS entries. If you enable the DNS cache, the server can store hostname information after receiving it. If the server needs information about the client in the future, the information is cached and available without further querying. specify the size of the DNS cache and an expiration time for DNS cache entries. The DNS cache can contain 32 to 32768 entries; the default value is 1024. Values for the time it takes for a cache entry to expire can range from 1 second to 1 year specified in seconds; the default value is 1200 seconds (20 minutes).

#### Limit DNS Lookups to Asynchronous

Do not use DNS lookups in server processes because they are resource-intensive. If you must include DNS lookups, make them asynchronous.

#### Enabled

If asynchronous DNS is disabled, the rest of this section will not be displayed.

#### NameLookups

The number of name lookups (DNS name to IP address) that have been done since the server was started. This setting is not tunable.

#### AddrLookups

The number of address loops (IP address to DNS name) that have been done since the server was started. This setting is not tunable.

#### LookupsInProgress

The current number of lookups in progress.

### Connection Queue

- Total Connections Queued: Total connections queued is the total number of times a connection has been queued. This includes newly accepted connections and connections from the keep-alive system.

- Average Queuing Delay: Average queueing delay is the average amount of time a connection spends in the connection queue. This represents the delay between when a request connection is accepted by the server, and a request processing thread (also known as a session) begins servicing the request.

### File Cache Information (file-cache)

The file cache caches static content so that the server handles requests for static content quickly. The file-cache section provides statistics on how your file cache is being used.

For information on tuning the file cache, see HTTP File Cache.

- Number of Hits on Cached File Content

- Number of Cache Entries

- Number of Hits on Cached File Info

- Heap Space Used for Cache

- Number of Misses on Cached File Content

- Cache Lookup Misses

- Number of Misses on Cached File Content

- Max Age of a Cache Entry: The maximum age displays the maximum age of a valid cache entry.

- Max Number of Cache Entries

- Max Number of Open Entries

- Is File Cached Enabled?: If the cache is disabled, the other statistics are not displayed. The cache is enabled by default.

- Maximum Memory Map to be Used for Cache

- Memory Map Used for cache

- Cache Lookup Hits

- Open Cache Entries: The number of current cache entries and the maximum number of cache entries are both displayed. A single cache entry represents a single URI. This is a tunable setting.

- Maximum Heap Space to be Used for Cache

### Keep Alive (keep-alive)

The Admin Console provides the following performance-related keep-alive statistics:

- Connections Terminated Due to ClientConnection Timed Out

- Max Connection Allowed in Keep-alive

- Number of Hits

- Connections in Keep-alive Mode

- Connections not Handed to Keep-alive Thread Due to too Many Persistent Connections

- The Time in Seconds Before Idle Connections are Closed

- Connections Closed Due to Max Keep-alive Being Exceeded

### Thread Pool (pwc-thread-pool)

The Admin Console provides the following thread pool statistics:

- Idle/Peak/Limit: Idle indicates the number of threads that are currently idle. Peak indicates the peak number in the pool. Limit indicates the maximum number of native threads allowed in the thread pool, and is determined by the setting of `NativePoolMaxThreads`.

- Work Queue Length /Peak /Limit: These numbers refer to a queue of server requests that are waiting for the use of a native thread from the pool.

  - The Work Queue Length is the current number of requests waiting for a native thread.

  - Peak is the highest number of requests that were ever queued up simultaneously for the use of a native thread since the server was started. This value can be viewed as the maximum concurrency for requests requiring a native thread.

  - Limit is the maximum number of requests that can be queued at one time to wait for a native thread, and is determined by the setting of `NativePoolQueueSize`.

- Previous: Transaction Service Settings
- Next: Tuning the HTTP Service

- © 2010, Oracle Corporation and/or its affiliates