|
Measures reported by SapWasIcmTest
The Internet Communication Manager ensures that communication between the SAP System (SAP Web Application Server) and the outside world via HTTP, HTTPS and SMTP protocols works properly. In its role as a server, the ICM can process requests from the Internet that arrive as URLs with the server/port combination that the ICM can listen to. The ICM then calls the relevant local handler for the URL in question.
The ICM process uses threads to parallel process the load. Besides the pool of worker threads, which process incoming requests, the following ICM components are also implemented as threads:
- Thread Control:
This thread accepts the incoming TCP/IP requests and creates (or wakes) a worker thread from the thread pool to process the request. From this point on, thread control initializes the connection info data.
- Worker Threads:
These threads handle connection requests and responses. A worker thread contains an I/O handler for the network input and output, diverse plugins for the various supported protocols (HTTP, SMTP,…), which are required to be able to decide when the sent packet is finished (depends on the protocol).
- Watchdog:
Usually, a worker thread waits for the response, regardless of whether the worker thread is a server or a client.If a timeout occurs, the watchdog takes on the task of waiting for the response. This makes the worker thread available for other requests. When the watchdog receives the response, it informs the thread control components, which then call a worker thread.
- Signal Handler:
This thread processes signals sent from the operating system or from another process (for example, the dispatcher).
- Connection Info:
This table contains information about the state of the connection, the memory pipes, and the plug-in data for every existing network connection.
- Memory Pipes:
Memory pipes are memory-based communication objects that handle data transfer between the ICM and the work processes. For each connection there are four pipes: for each request and response one data pipe and an OOB (Out Of Band) pipe. The OOB pipe is used for control data.
- Internet Server Cache:
The ICM contains another cache to enable repeated requests to be quickly responded to.
If any of these threads is unavailable or is slow, then HTTP/S requests received by the SAP WAS cannot be serviced quickly. Such processing delays can severely hamper the experience of Internet users with the SAP. This is why, it is imperative that SAP administrators proactively detect such slowdowns, accurately identify when the slowdown occurred, and pinpoint the precise thread responsible for it. This is where the SapWasIcmTest test helps! This test auto-discovers the threads that are at work in the ICM and reports the current state of each thread, what type of work each thread is performing presently, and how quickly that thread is doing that work. In the process, the test sheds light on processing bottlenecks, pinpoints where the bottleneck lies, and leads administrators to the exact thread causing it. This knowledge helps administrators rapidly troubleshoot slowdowns and avert serious outages.
The measures made by this test are as follows:
| Measurement |
Description |
Measurement
Unit |
Interpretation |
| Status |
Indicates the current status of this thread. |
|
The values that this measure can report, what they mean, and their corresponding numeric values are discussed in the table below:
| Measure Value |
Description |
Numeric Value |
| Running |
The thread is processing a request |
1 |
| Idle |
The thread is waiting for a request |
2 |
| Not Available |
There are no requests |
3 |
Note:
By default, the test reports the Measure Values in the table above to indicate thread status. In the graph of this measure however, the same is represented using the numeric equivalents only. |
| Request_type |
Indicates the operation that this thread is currently performing. |
|
The values that this measure can report, what they mean, and their corresponding numeric values are discussed in the table below:
| Measure Value |
Description |
Numeric Value |
| NOP |
No action |
0 |
| Administration |
Action that is triggered from transaction SMICM or program icmon - for example, display list. For this reason, at least one thread always displays Administration, if you call SMICM. |
1 |
| Read request |
Reads the request (server) |
2 |
| Read response |
Reads the response (client) |
3 |
| Write request |
Writes the request (client) |
4 |
| Write response |
Writes the response (server) |
5 |
| Open connection |
Sets up connection to a server |
6 |
| Close connectionv |
Closes connection to a partner |
7 |
| Accept connection |
Accepts the connection from a client |
8 |
| Time-dependent action |
Executes time-dependent (periodically scheduled) events |
9 |
| Wait for data |
Waits for data from the network or from the application server (SAP Web dispatcher) |
10 |
| Wait for response (SERV) |
Waits for a response from the application server (SAP Web AS is a server with active connections) |
11 |
| Wait for response (CLNT) |
Waits for a request from the application server (SAP Web AS is a server with active connections) |
12 |
| Shutdown |
Ends ICM |
13 |
Note:
By default, the test reports the Measure Values in the table above to indicate operational status. In the graph of this measure however, the same is represented using the numeric equivalents only. |
| Processing_rate |
Indicates the rate at which this thread is processing requests. |
Requests/Sec |
A consistent drop in the value of this measure could indicate a processing bottleneck.
Compare the value of this measure across threads to know which thread is the slowest. |
|