ICM Cache Statistics Test
The ICM server cache or Internet server cache which is part of the Internet Communication Manager (ICM) saves HTTP(S) objects before they are sent to the client. The next time an object is requested, the application gets the content directly from the cache before sending it to the client.
The HTTP request handler uses the ICM server cache when, for example, response pages need to be reused, such as the entry page of an online shop application. The ICM server cache saves the pages before they are sent to the client. When the page is next called, the application gets the page directly from the ICM and sends it to the client, provided that the expiry period has not run out. In this case the work process does not have to be opened.
A cache is said to be effectively utilized only if it is able to service the maximum number of requests to the target server; this greatly reduces direct disk accesses and related overheads, and thus improves the target system's performance. On the contrary, ineffective cache usage can be the key contributor to a slowdown or degradation in server performance, as it increases disk accesses.
The cache size, maximum cache entries and maximum unfound object entries in the cache are configurable. If these values are not set prudently, then the cache may not be able to hold adequate entries to serve the search requests to target system; this in turn will compel the system to directly access the disk for fulfilling the requests. Direct disk accesses are resource-intensive operations, and should be avoided. To proactively detect such resource intensive operations, you need to continuously monitor how the cache is servicing requests, detect sizing irregularities quickly, and correct them. This is where the ICM Cache Statistics test helps!
This test monitors the ICM Server Cache and reports the total size of the cache, the total number of cache entries etc. Using this test, administrators can easily detect the number of unfound object entries and remove them from the cache. This way, administrators can analyze how quickly the cache processes the requests. In the process, the test points to poor cache usage and processing bottlenecks, and reveals if the cache is poorly sized.
Target of the test : A SAP ABAP instance
Agent deploying the test : An internal/remote agent
Outputs of the test : One set of results for the SAP ABAP instance being monitored.
Parameter | Description |
Test Period |
How often should the test be executed |
Host |
Host name of the server for which the test is to be configured. |
Port |
Enter the port to which the specified host listens. |
ClientName |
Specify the ID of the client system as what the eG agent will be connecting to the SAP ABAP instance. To know how to determine the client ID to use, follow the instructions provided in Determining the Client ID/Name for the eG Agent to Connect to the SAP ABAP Instance. |
SAPUser |
Typically, to connect to a SAP ABAP instance and run tests, the eG agent requires the permissions of a SAP user who has been assigned |
Password |
The password of the specified SAPUser. |
Confirm Password |
Confirm the password by retyping it here. |
SysNo |
An indicator of the TCP/IP port at which the SAP server listens. For example, for a server that listens at port 3200, the SysNo will be ‘00’. Similarly, if the SAP server port is 3201, the SysNo will have to be specified as ‘01’. Therefore, in the SysNo text box specify the system number of the SAP server with which the specified client communicates. To know the system number for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number. |
Router |
If the SAP client with the specified ClientName exists in a network external to the SAP server, then a router will be used to enable the server-client communication. In such a case, specify the router string of the router in the Router text box. If both the client and the server exist in the same network, then specify ‘none’ against the Router text box. To know what is the SAP Router string for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number. |
InstanceName |
This is set to none by default. This implies that the eG agent automatically discovers the instance name at run time. |
Timeout |
Indicate the duration (in seconds) for which this test should wait for a response from the SAP ABAP instance. By default, this is set to 120 seconds. |
JCO Version |
The eG agent uses the SAP JCO library to connect to the SAP ABAP system and pull out metrics. To enable the eG agent to make this connection and query the metrics, you need to specify the version of the SAP JCO library that the agent needs to use. For instance, to instruct the eG agent to use JCO v2.1.19, it would suffice if you specify the ‘major version number’ alone against JCO Version – in the case of this example, this will be 2.x. Note that if you have downloaded the SAP JCO CONNECTOR files for SAP JCO version 3 from the SAP market place (as instructed by Downloading the SAP JCO Connector files Required for Monitoring ), then the JCO Version configuration should be 3.x. |
DD Frequency |
Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD Frequency. |
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise 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:
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Cache size |
Indicates the total size of the ICM cache. |
KB |
|
Occupied cache memory |
Indicates the cache memory that is occupied in the ICM cache. |
KB |
A value close to the Cache size measure indicates that the ICM cache is running out of space. |
Maximum cache entries |
Indicates the maximum number of entries that can be occupied in the cache. |
Number |
|
Current cache entries |
Indicates the number of entries that are currently available in the cache. |
Number |
If the value of this measure is close to Maximum cache entries measure, then, it indicates that new cache entries cannot be occupied anymore in the cache. Administrators may be required to remove outdated entries or increase the cache entries configuration to occupy additional entries. |
Displaced cache entries |
Indicates the number of cache entries that were displaced in the cache. |
Number |
|
Cache accesses |
Indicates the total number of cache accesses to the cache. |
Number |
|
Cachable accesses |
Indicates the number of cachable accesses to the cache during the last measurement period. |
Number |
|
Cache hits |
Indicates the percentage of time the cache was hit for an entry without having to read from the disk during the last measurement period. |
Percent |
A high value is desired for this measure. A low value or a consistent drop in this value is a cause for concern, as it indicates ineffective cache usage. This means high disk accesses, and poor server performance. One of the common reasons for bad cache usage is improper cache size. A cache that does not have sufficient space to accommodate entries will not be able to service requests effectively. You may hence have to allocate more space to the cache or free-up space in the cache to accommodate more entries. |
Failed cache accesses |
Indicates the percentage of time the access to the cache failed during the last measurement period.
|
Percent |
A low value is desired for this measure. A high value or a consistent increase in this value is a cause for concern, as it indicates ineffective cache usage. This means high disk accesses and poor server performance. One of the common reasons for bad cache usage is improper cache size. A cache that does not have sufficient space to accommodate entries will not be able to service requests effectively. You may hence have to allocate more space to the cache or free-up space in the cache to accommodate more entries. |
Cache hits in memory |
Indicates the percentage of time the entries were retrieved from the memory cache during the last measurement period. |
Percentage |
The detailed diagnosis of this measure provides details of the inactive services. These details include the service name, keep alive connection status, backend processing timeout, port, hostname and whether/not external bindings are used. |
Maximum unfound object entries |
Indicates the maximum number of unfound object entries that can be cached. |
Number |
The Internet server cache supports caching invalid requests. These are requests that lead to errors on the application server or on the database back end, such as “not found” errors. As a result, the back end is protected from overload situations in which the system is flooded with invalid Web requests. |
Current unfound object entries |
Indicates the current number of unfound object entries requested from the cache. |
Number |
|
Accesses to unfound objects list |
Indicates the number of times the unfound objects list was accessed during the last measurement period. |
Number |
|
Unfound object hits |
Indicates the percentage of time the cache was hit for an unfound object entry during the last measurement period. |
Percentage |
A low value is desired for this measure. |