Performance optimization during import of ABAP transport
This document provides overview of “Accelerated and Parallel Import” strategy for SAP ABAP transports. It also lists out key pre-requisites, performance drivers to be considered, TP parameters and their settings in order to enable this optimized import mechanism. Sample test results, expected benefits, and other possible tuning options are some of the highlights of this document.
Systems in Scope:
All ABAP and Dual stack systems excluding JAVA stack
- Reduction in individual transport import duration in comparison to default un-tuned import scenario. Test results show a max gain close to 87% though results typically depend upon factors detailed in the section below “Performance drivers”.
- Average performance and time gain during mass/bundle import tests was close to 25% in comparison to default import scenario.
- Comparable savings in terms of maintenance and downtime window during Business releases as changes via transports are imported considerably faster.
- Efficient utilization of available h/w resources during system uptime and maintenance
- System specific transport log directories enabling quicker analysis and troubleshooting of
Recommendation on TP parameters : Default import vs. Accelerated & Parallel import
Maintain following parameters in transport profile for every system to enable and activate Accelerated and Parallel import.
This can also be done from domain controller => Tcode STMS => System Overview => Double click the system where configuration needs to be changed => Tab “Transport Tool” => Activate change mode => Add/update parameters as mentioned above => Save and Distribute the new TMS configuration.
- There is no fix value recommendation for PARALLEL that can help you achieve optimized import times. Instead it depends upon the number of CPU cores that are available on the server where TR import is expected and also depends upon the factors detailed in the section below “Performance drivers”. Several test imports with different values can help you identify suitable value in your transport environment. I suggest to use PARALLEL = 4 in general where you have no. of CPU cores >=4 on SAP server.
- SID_LOG_FILES = TRUE / 1 has a pre-requisite of creating directory named “SID” under filesystem /usr/sap/trans/log.
E.g. directory /usr/sap/trans/log/BE1 should be created before changing parameter value for BE1 system.
- Similar parallelism is also used by SUM tool during technical patching/upgrade to reduce overall import time of new SPs and versions upgrades.
- Online activation and deactivation of Accelerated and Parallel import is possible with nil impact on running transports and active business transactions/users.
SAP_BASIS rel. >= 700
SAP kernel >= 720
- Number of CPUs on the application server where the import is running
- Capabilities of the database to handle many parallel processes
- Location of the database server (if database and import are running on the same server, they will share their resources, e.g. CPU power)
- I/O performance (because parallel import processes read the same data file and write their logs into the same directory)
- Number of objects in the transport requests
- For small transport requests, R3trans will switch off parallelism automatically
Test results – ECC with medium size TRs:
- Testing was excuted with medium size sample TRs <XXX>K911586 (UAM roles and authorization) and <XXX>KT00002/XXXKT00004 (User export import) in ECC systems with parallel degree of 0, 4 and 8.
Test results – BI with small size TRs:
- Testing on BI was excuted for small size sample TRs <XXX>K942741 and <XXX>K942732 with parallel degree of 0 and 4.
Test results – TR mass / bundle import in ECC:
- Mass bundle of 2400 TRs was imported in ECC system during this test case with parallel degree of 0 and 4.
Additional tuning options:
- Parameter ACTIVATEMERGED = TRUE can be added to transport profile.
This ensures that the system does not activate the ABAP dictionary for each request; instead, it performs a joint activation run for all ABAP Dictionary objects that were imported in an import queue. This omits the overhead that occurs due to multiple activations of several transported objects and their dependent objects.
One disadvantage of this option is that a collective activation log exists rather that an individual activation log for each transport request.
- Parameter GENERATION = FALSE can be added to transport profile.
This setting deactivates generation of ABAP programs and screens and also disables syntax check during import of transport. Even if this transport step is not executed, all transported objects are consistent and active in the system.
However disadvantage of this option is that the runtime objects are then created during the first call leading to longer system response time for that call.
Reference SAP notes and links:
1223360 – Composite SAP Note: Performance optimization during import
1127194 – R3trans import with parallel processes
1616401 – Understanding parallelism during the Upgrades, EhPs and Support
Vendor/SAP review of recommended changes and confirmation obtained: Yes, via SAP Message/Incident #314682