Advanced table buffer analysis

SAP has a new program /SDF/ST10 to execute advanced table buffer analysis.

This is a great new program that finally gives a good overview of the buffer status on high level, without swarming immediately into all the details.

Installation and documentation of /SDF/ST10 advanced table buffer analysis program

Apply OSS note 3478095 – Advanced Table Buffer Analysis to get the new /SDF/ST10 program installed.

This note also contains the documentation of the program itself.

Running advanced table buffer analysis

In SE38 on your productive system start program /SDF/ST10. If you have multiple application servers, run it per server, since the buffering can be locally different per application server.

Start screen:

After pressing execute you are reminded this is an expert transaction and you must read the note 3478095 – Advanced Table Buffer Analysis.

Result screen:

By default the screen is unsorted. Sort on the item you think is interesting to analyze in more detail.

Note: on the bottom you can see the double click links to more detailed tools.

Actions that can be done to improve

All the actions below are Expert actions. Don’t execute or propose them if you do not have in-depth understanding of SAP table buffering.

De-buffering

De-buffering of custom or even standard SAP tables can be a solution. For SAP tables, notes can be found for certain use cases.

Example notes:

Change table buffer parameter

OSS note saptechnicalguruPosted on Categories BufferTags Leave a comment on Advanced table buffer analysis

SAP buffers and buffer refreshes

This blog will explain the SAP buffer setup and the SAP buffer refresh process.

Questions that will be answered are:

  • What is the use of table buffers?
  • Which tables are buffered?
  • How can I check on my productive system which buffered table is using a lot of memory?
  • How to force a buffer refresh in general?
  • How to force a buffer refresh for a specific table?
  • How to force a buffer refresh on a specific application server?

Background of table buffers

The primary reason of a table buffer is pretty simple: performance improvement.

SAP has a 3 tier setup of:

  1. Front end GUI
  2. Application server
  3. Database server

If data is read from the database server it is processed on the application server. This data is buffered on the application server. If a user asks the same data twice, the application server already has the data. Also very frequently read tables (like company code and plant data) are buffered on the application server.

In transaction SE11 in the technical settings of a table you can see if a specific table is buffered or not, and the type of buffering. Example is for table T000, which is fully buffered:

When to set buffering?

Buffering is extremely useful on small and infrequently changing tables, which have a lot of read access. For these tables buffering will help a lot. That is why a lot of customizing table have buffering activated. You can do the same for your Z tables if they are used for customizing like purposes.

How to check buffering in productive system?

Follow the instructions from OSS note 2806927 – Remove table buffers to check table buffering in production.

Go to transaction AL12:

Then select menu option Monitor, Buffers, Table buffer, All Generic tables. Then sort by size:

How to reset table buffers?

In some specific case you might want to force a buffer reset.

For this reason you can enter specific commands (enter same way like transaction code or the famous /h for debugging):

/$TAB – Resets all the table buffers on the application server

/$TAB <table name> – Resets the TABLE buffers on the application server for that specific table (also consider program TOUCHTAB after transporting a table definition)

/$SYNC Resets the buffers on the application server

/$CUA Resets the CUA buffer of the application server (the CUA buffer is not for central user admin, but holds screen elements like menus, buttons, etc)

/$DYN Resets the screen buffer on the application server

/$ESM Resets the exp/imp shared memory Buffer on the application server

/$PXA Resets the program (PXA) buffer on the application server

/$OBJ Resets the shared buffer of the application server

ST02 buffer overview

You can use transaction ST02 to get an overview of the buffers:

By clicking the button Current parameters you get an overview of the currently set relevant parameters:

Explanation notes:

Other buffer and caching resets

There are other buffer and caching resets:

  • User buffer reset: go to transaction SU53 and select menu Authorization Values / Reset User Buffer
  • User role combination refresh: transaction PFUD, see dedicated blog.
  • FIORI buffers, see dedicated blog.