Cache Buffer Test

Cache maintains a buffer pool — an in-memory cache of frequently referenced data blocks — to reduce the cost of fetching blocks from disk. By default, 16 KB is the memory allocated to the database cache. Close monitoring of the buffer pool is essential to determine the adequacy of the memory allocation to the cache. By increasing the memory allocation, administrators can considerably increase cache hits, reduce disk accesses, and consequently, save the processing overheads.  

The CacheBuffer test monitors the usage of the buffer pool of every database instance of the Cache database server. In the process, the test also observes the behavior of the interactive and batch buffer queues. Any Cache process created in the Cache database is set to execute either in the ‘interactive’ or in the ‘batch’ mode. Since an ‘interactive’ process expects user inputs, it has to be run in the foreground and is also, resource-intensive. A ‘batch’ process on the other hand can only be run in the background, and uses less resources.

Target of the test : A Cache Database server

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for every database on the Cache database server

Configurable parameters for the test
  1. TEST PERIOD - How often should the test be executed.
  2. Host – The IP address of the Cache Database Server.
  3. Port – The port on which the server is listening.
  4. SnmpPortThe port at which the Cache Database Server exposes its SNMP MIB; the default is 161.
  5. SNMPVERSION– By default, the eG agent supports SNMP version 1. Accordingly, the default selection in the snmpversionlist is v1. However, if a different SNMP framework is in use in your environment, say SNMP v2 or v3, then select the corresponding option from this list.
  6. SNMPCommunity – The SNMP community name that the test uses to communicate with the firewall. This parameter is specific to SNMP v1 and v2 only. Therefore, if the snmpversionchosen is v3, then this parameter will not appear.
  7. username– This parameter appears only when v3 is selected as the snmpversion. SNMP version 3 (SNMPv3) is an extensible SNMP Framework which supplements the SNMPv2 Framework, by additionally supporting message security, access control, and remote SNMP configuration capabilities. To extract performance statistics from the MIB using the highly secure SNMP v3 protocol, the eG agent has to be configured with the required access privileges – in other words, the eG agent should connect to the MIB using the credentials of a user with access permissions to be MIB. Therefore, specify the name of such a user against the username parameter. 
  8. CONTEXT – This parameter appears only when v3 is selected as the SNMPVERSION. An SNMP context is a collection of management information accessible by an SNMP entity. An item of management information may exist in more than one context and an SNMP entity potentially has access to many contexts. A context is identified by the SNMPEngineID value of the entity hosting the management information (also called a contextEngineID) and a context name that identifies the specific context (also called a contextName). If the USERNAME provided is associated with a context name, then the eG agent will be able to poll the MIB and collect metrics only if it is configured with the context name as well. In such cases therefore, specify the context name of the USERNAME in the CONTEXT text box.  By default, this parameter is set to none.

  9. authpass– Specify the password that corresponds to the above-mentioned username. This parameter once again appears only if the snmpversion selected is v3.
  10. confirm password– Confirm the authpass by retyping it here.
  11. authtype– This parameter too appears only if v3 is selected as the snmpversion. From the authtypelist box, choose the authentication algorithm using which SNMP v3 converts the specified username and password into a 32-bit format to ensure security of SNMP transactions. You can choose between the following options:

    • md5 – Message Digest Algorithm
    • sha – Secure Hash Algorithm
  12. encryptflag– This flag appears only when v3 is selected as the snmpversion. By default, the eG agent does not encrypt SNMP requests. Accordingly, the encryptflagis set to no by default. To ensure that SNMP requests sent by the eG agent are encrypted, select the yes option. 
  13. encrypttype– If the encryptflagis set to yes, then you will have to mention the encryption type by selecting an option from the encrypttypelist. SNMP v3 supports the following encryption types:

    • des – Data Encryption Standard
    • AES – Advanced Encryption Standard
  14. encryptpassword– Specify the encryption password here.
  15. confirm password– Confirm the encryption password by retyping it here.
  16. TIMEOUT - Specify the duration (in seconds) within which the SNMP query executed by this test should time out in the TIMEOUT text box. The default is 10 seconds.
  17. DATA OVER TCP – By default, in an IT environment, all data transmission occurs over UDP. Some environments however, may be specifically configured to offload a fraction of the data traffic – for instance, certain types of data traffic or traffic pertaining to specific components – to other protocols like TCP, so as to prevent UDP overloads. In such environments, you can instruct the eG agent to conduct the SNMP data traffic related to the monitored target over TCP (and not UDP). For this, set the data over tcp flag to Yes. By default, this flag is set to No.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Buffer size:

Indicates the current size of the buffer

Bytes

A well-tuned environment is one where the buffer is sufficiently sized. A low value of this measure is unhealthy, as light weight buffers force a large number of direct disk accesses causing the database to incur excessive processing overheads. 

Buffer count:

Indicates the number of buffers of buffer size

Number

 

Batch queue offset:

Indicates the current offset to the start of the LRU (least recently used) queue.

Number

 

Interactive buffers:

Indicates the number of buffers currently in the interactive portion of the LRU queue

Number

 

Max interactive buffers:

Indicates the maximum number of buffers in the interactive portion of the LRU queue.

Number

 

Requeue limit interactive:

Indicates the threshold for requeuing an interactive buffer.

Number

 

Requeue limit batch:

Indicates the threshold for requeueing a batch buffer.

Number

 

Interactive write queue:

Indicates the number of interactive buffers in the current write cycle.

Number

 

Buffers write queue:

Indicates the number of buffers requeued in the batch LRU queue.

Number

 

Write queue wait max:

Indicates the threshold for waking the interactive write daemon.

 

Number

 

Available interactive buffers:

Indicates the current number of available interactive buffers.

Number

Ideally, this value should be high. If the value is low, then the buffer might be unable to serve all interactive job requests, thus forcing direct disk accesses. This could ultimately increase processing overheads. 

Minimum interactive buffers:

Indicates the minimum number of buffers in the interactive portion of the LRU queue.

Number

 

Buffer usage:

Indicates the percentage of buffer memory  utilized.

Percent

A value close to 100% is a cause of concern, as it indicates that the buffer pool is rapidly filling up. This implies that there may not be enough space for additional buffers in the buffer pool; this may force direct disk accesses, which are I/O-intensive. For optimal performance therefore, the value of this measure should be low.