Salesforce

What is a Buffer hit ?

« Go Back

Information

 
TitleWhat is a Buffer hit ?
URL NameP24108
Article Number000148336
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Question/Problem Description
What is a Buffer Hit and how can I view it?
How can I view database buffer hit ratio?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
What is a Buffer hit ? 

A Buffer hit count occurs when a database block requested by a client is found already in the database memory pool rather than having to read it from disk. 
  • The database buffer pool is sized by the -B and -B2 Database Startup parameters:
(4239)  Number of Database Buffers (-B)
(17562) Number of Alternate Database Buffers (-B2)
  • A database buffer is a temporary storage area in memory used to hold a copy of a database block.
  • When the database engine reads a database record, it stores the block read from disk that contains that record in a database buffer.
  • When a process needs to read a database record, it requests access to the record.
  • The database engine searches the buffer pool for the requested record. 
    • If the block that holds the record is already stored in a buffer, the engine reads the record from the buffer. This is called a Buffer hit.
      • When the database buffer pool is tuned correctly, the engine should achieve a Buffer hit most of the time. The Buffer Hit Ratio is a useful metric for initial Buffer Pool sizing for application requirements.
    • If the record is not found in a buffer, the engine must read the database block holding that record from disk into a buffer.
      • If an empty buffer is available, the engine reads the block holding that record into that buffer. 
      • If no empty buffer is available, the engine must replace another buffer to make room for it off the LRU (least recently used) end of the Buffer Pool chain.  How does Buffer Flush works?  
      • If the block that will be evicted has been modified, the engine must write the block to disk to save the changes. This is known as an eviction. While the eviction takes place, the process that requested the record in must wait. For this reason, performance is improved if empty buffers are always available.

The PROMON utility can be used to determine the current buffer hit ratio of the database.  For further information refer to Article:

Workaround
Notes
References to Other Documentation:

OpenEdge Data Management: Database Administration, Chapter 22, "PROMON Utility"

Progress Articles:
 -B and -L Database startup parameter values recommendations.
 What is the Alternate Buffer Pool?
Keyword Phrase
Last Modified Date11/20/2020 7:38 AM

Powered by