Brief Summary of SAP Buffers
Brief Summary of SAP Buffers
Each Application Server(instance) has their own buffers. Buffers are known as
caches. It occupy memory areas that are local to the work processes.
SAP Buffers store frequently used data and make available for local application
server instance. Buffers help to reduce the number of database accesses, load on
database server and network traffic. Thus, improving the system performance.
Buffered data includes ABAP programs and screens, dictionary data and other company
specific data. Therefore, there are several type of buffers in SAP system. Here are
some of the most important buffers listed. We can tune all the buffers from t-code
ST02.
1) Table Buffer
2) Program Buffer
3) SAPgui buffer
4) Roll/Paging buffer
5) Import/Export Buffer
6) Repository Buffer
a) Single Record Buffer :- It stores single table entries. i.e. one record with
its field values. The profile paramaters which define this buffer are :-
i) rtbb/buffer_length :- actual size of single record buffer
ii) rtbb/max_tables :- max number of buffered tables
b) Generic Key Buffer :- Stores range of table entries i.e. range of records
with field values. It can also store all the records of the table depending on the
requirements. It is known as full buffering. You can change the table buffer
attributes from SE13.
The profile paramaters which define this buffer are :-
i) zcsa/table_buffer_area :- actual size of generic key buffer
j) zcsa/db_max_buftab :- max number of buffered objects
2) Program Buffer (ABAP Buffer) :- The program buffer is used for storing ABAP
program loads before they are executed within individual work processes. This
buffer must show 95% hit ratio, otherwise there is a chance of high load and
generation time in instance. The profile parameter of ABAP buffer to configure is
abap/buffersize.
a) Screen Buffer :- stores the generated screens in SAP system. It is also known
as dynpro buffer. The profile parameter which defines this buffer is
i) zcsa/presentation_buffer_area :- size of screen buffer
ii) sap/bufdir_entries :- max number of buffered screens
b) CUA Buffer :- The CUA buffer stores objects used by SAP GUI, including menus
and button definitions. The CUA buffer is also known as the Menu buffer. Usually
this buffer plays no significant role concerning the performance of your SAP
instance. The profile parameter for this buffer is rsdb/cua/buffersize.
4) Repository Buffer(Nametab buffer) :- The name tab contains table and field
definitions that are activated in SAP system. It is also known as ABAP Dictionary
Buffer. It contains data derived from table DDNTT(table definitions) and table
DDNTF(field descriptions). It has 4 individual buffers. The global profile
parameter of ntab buffer is rsdb/ntab/entrycount which defines the max number of
records buffered.
The short ntab buffer and initial records are not saved in the database, but they
are derived from contents of the table DDNTT and DDNTF.
The initial record buffer is read at refresh or INSERT command, when the record is
created into buffers before data is inserted and fields are initialized.
As there are separate buffers for each application server, there could be the
problem of inconsistency between application servers. For that, SAP system uses
periodical buffer synchronization which is known as buffer refresh. The
synchronization can be controlled by the following parameter.
Buffer synchronization is required only when there are more than application
server. When the application server restarts, all the buffer are erased and
dynamically reconstructed.
The tuning of SAP Buffers is quite necessary for improving the overall performance
of the system. The main reason for the reduced performance could be :
1) Buffers are too small :- The required data is not stored in buffer and
objects have to be swapped out of the buffers.
2) Buffers are too large :- Memory is wasted. Paging may occur if too much
memory is taken from operating system.
The optimum size of buffers depends on the specific configuration of server like
number of users working in each module.