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 Posted on Categories BufferLeave a comment on Advanced table buffer analysis This blog will explain the SAP buffer setup and the SAP buffer refresh process. Questions that will be answered are: The primary reason of a table buffer is pretty simple: performance improvement. SAP has a 3 tier setup of: 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: 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. 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: 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 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: There are other buffer and caching resets:SAP buffers and buffer refreshes
Background of table buffers
When to set buffering?
How to check buffering in productive system?
How to reset table buffers?
ST02 buffer overview
Other buffer and caching resets