Work Process Distribution
| Work Process Type | Old Value | New Value |
| DIALOG | 12 | 45 |
| BACKGROUND | 6 | 6 |
| UPDATE | 1 | 4 |
| UPDATE2 | 1 | 2 |
| ENQUEUE | 1 | 1 (only on CI) |
| SPOOL | 2 | 2 (CI) and 1 (DI) |
| Total | 23 | 60 (CI) and 58 (DI) |
RFC parameters for mass usage of parallel RFCs – Instance profile (both servers CI and DI)
| Parameter | Old Value | New Value | Description |
| gw/max_conn | 500 | 4000 | Sets maximum number of active connections (Gateway) |
| gw/max_overflow_size | 5000000 | 25000000 | Sets size of local memory area for Gateway |
| icm/HTTP/max_request_size_KB | 102400 | 2097152 | Maximum size of HTTP request accepted by ICM |
| rdisp/appc_ca_blk_no | 100 | 2000 | Sets tcp/ip communication buffer size |
| rdisp/force_sched_after_commit |
| no | Disables automatic rollout of context after commit work |
| rdisp/max_arq | 500 | 2000 | Maximum number of internal asynchronous messages |
| rdisp/max_comm_entries | 500 | 2000 | Sets maximum number of communication entries |
| rdisp/rfc_max_own_login | 25 | 90 | Sets RFC quota for own logins |
| rdisp/rfc_max_own_used_wp | 75 | 90 | Sets RFC quota for own used work processes |
| rdisp/rfc_max_wait_time | 15 | 5 | Sets RFC maximum wait time after load check |
| rdisp/tm_max_no | 200 | 2000 | Sets maximum number of available connections (instance) |
| rdisp/wp_ca_blk_no | 300 | 2000 | Sets block buffer size for work process communication |
| ztta/max_memreq_MB | 2047 | 2048 | Limit for a single memory allocation request (default 64). This value depends on the maximum document size. |
| rdisp/max_wprun_time | 600 | 1200 | Maximum work process run time for dialog |
| rdisp/rfc_min_wait_dia_wp (GoLive Report) | 1 | 2 | Number of waiting dialog work processes. Number of dialog work processes that should remain free for other users, and are therefore not available for RFC requests. |
| (GoLive Report) | 4096 | 10000 | Size of lock table |
Buffer Parameter Settings – Instance app1 profile (Go Live Recommendation)
| Parameter | Old Value | New Value | Description |
| rsdb/ntab/irbdsize | 6000 | 8000 | Data area size for Initial records buffer |
| rtbb/buffer_length | 10000 | 60000 | Size of partial table bufferers |
| rsdb/cua/buffersize | 3000 | 10000 | CUA Buffer Size |
| zcsa/table_buffer_area | 30000000 | 100000000 | Size of Resident-Table Buffer |
| zcsa/db_max_buftab | 5000 | 10000 | Directory Entries in Table Buffer |
| zcsa/presentation_buffer_area | 4400000 | 20000000 | Size of the buffer allocated for screens (Dynpros) |
| sap/bufdir_entries | 2000 | 10000 | Maximum number of entries in the presentation buffer |
| rsdb/obj/buffersize | 4096 | 40000 | Size of export/import buffer |
| rsdb/obj/max_objects | 2000 | 20000 | Max. no. of exporting/importing objects |
Buffer Parameter Settings – Instance app2 profile (Go Live Recommendation)
| Parameter | Old Value | New Value | Description |
| abap/buffersize | 150000 | 400000 | Program buffer size |
| rsdb/ntab/entrycount | 20000 | 30000 | Number of nametab entries administrated |
| rsdb/ntab/ftabsize | 30000 | 60000 | Data area size for field description |
| rsdb/ntab/irbdsize | 6000 | 8000 | Data area size for initial records buffer |
| rtbb/buffer_length | 10000 | 60000 | Size of single record table buffers |
| rsdb/cua/buffersize | 3000 | 10000 | CUA Buffer Size |
| zcsa/table_buffer_area | 30000000 | 100000000 | Size of generic table buffer |
| zcsa/db_max_buftab | 5000 | 10000 | Directory entries in generic table buffer |
| zcsa/presentation_buffer_area | 4400000 | 20000000 | Size of the buffer allocated for screens |
| sap/bufdir_entries | 2000 | 10000 | Maximum number of entries in the presentation buffer |
| rsdb/obj/buffersize | 4096 | 40000 | Size of export/import buffer |
| rsdb/obj/max_objects | 2000 | 20000 | Max. no of exporting/importing objects |
ICM – Instance profile (Go Live Recommendation)
| Parameter | Old Value | New Value | Description |
| icm/max_threads | 50 | 100 | Maximum number of worker threads of ICM |
| icm/min_threads | 10 | 50 | Minimum number of worker threads of ICM |
Integration Engine
| Category | Parameter | Sub Parameter | Default Value | New Value | Description |
| ARCHIVE | PERSIST_DURATION | ASYNC | 1 | 7 | Retention period for asynchronous messages that are to be archived |
| DELETION | DROP_MAX_TABLE_LOAD |
| 90 | 90 | Maximum permissible fill level of the master table in % |
| DELETION | MAX_VERSION | BATCH_RETRY | 800 | 20 | This parameter enables you to define the maximum number of versions a message can have if you want to start the message by using report RSXMB_RESTART_MESSAGES. To start a message manually from the monitor, a message can have a maximum of 990 versions. |
| DELETION | PERSIST_DURATION | ASYNC | 1 | 7 | Retention period of synchronous or asynchronous messages that have been processed without errors until they are deleted. |
| DELETION | PERSIST_DURATION | HISTORY | 30 | 20 | Retention period of history entries of reorganized messages until they are deleted. |
| DELETION | PERSIST_DURATION | SYNC | 0 | 0 | Retention period of synchronous or asynchronous messages that have been processed without errors until they are deleted |
| DELETION | PERSIST_DURATION_ERROR | SYNC | 1 | 5 | Retention period of synchronous messages that have been processed with errors until they are deleted. |
| IDOC | SYNTAX_CHECK |
| 1 | 0 | You can switch off the IDoc syntax check for well- tested productive scenarios. |
| PERF | DAYS_TO_KEEP_DATA | AGGREGATION_ITEMS | 7 | 15 | The parameter defines how long the aggregated runtime data is to remain available. |
| PERF | DAYS_TO_KEEP_DATA | MEASUREMENT_ITEMS | 2 | 15 | The parameter defines how long the runtime data from the header attribute PerformanceHeader is to remain available. |
| PERF | MEASUREMENT_LEVEL |
| 1 | 1 | The parameter defines whether runtime data is to be gathered |
| PERF | MEASUREMENT_PERSIST |
| 0 | 0 | The parameter defines whether the runtime data from the header attribute PerformanceHeader is to be persisted for display in the performance monitoring of the Runtime Workbench |
| RUNTIME | ENGINE_TYPE |
| UNDEFINED | HUB | This parameter determines the Integration Engine type for the current client. |
| RUNTIME | IS_URL |
|
| http://xi-integration.<co>.com:80/sap/xi/engine?type=entry | This parameter determines the URL or http destination of the relevant Integration Server for the client. |
| RUNTIME | LOGGING |
| 0 | 0 | Runtime logging persists an XI message after each pipeline processing step. |
| RUNTIME | LOGGING_SYNC |
| 0 | 0 | The parameter LOGGING_SYNC enables you to locally activate the logging of synchronous messages for all pipelines of an Integration Engine |
| RUNTIME | TRACE_LEVEL |
| 1 | 1 | The default setting for the trace level should be 1; only raise this level in error situations. |
| TUNING | EO_INBOUND_PARALLEL |
| 10 | 10 | Global number of parallel XI inbound queues; a parameter for sender-specific queues also exists |
| TUNING | EO_INBOUND_TO_OUTBOUND |
| 1 | 1 | Activates XI outbound queues for EO processing (without message split); can be switched off in specific configurations. |
| TUNING | EO_MSG_SIZE_LIMIT |
| 0 | 20480 | Can be set to enable processing of large messages (in this case above 20 MB) in specific inbound queues (XBTL*) so that the processing of average-sized messages is not affected; limit is scenario-specific. |
| TUNING | EO_OUTBOUND_PARALLEL |
| 3 | 8 | Number of parallel XI outbound queues for each receiver |
Note: In production the below parameters should be:
- IDOC/SYNTAX_CHECK = 0
- RUNTIME/LOGGING = 0
XI Specific Background Jobs
Java parameter
| Visual Admin Path | Old Value | New Value |
| Visual Admin --> Global Configuration --> Server --> Kernel --> Application ThreadManager --> MaxThreadCount | 40 | 800 |
| Visual Admin --> Global Configuration --> Server --> Kernel --> ThreadManager --> MaxThreadCount | 100 | 800 |
| Visual Admin --> Global Configuration --> Server --> Services --> HttpProvider --> FileBufferSize | 4096 | 4096 |
| Visual Admin --> Global Configuration --> Server --> Services --> HttpProvider --> InputBufferMaxSize | 8192 | 8192 |
| ConfigTool --> Instance --> Server --> Java Max Heap Size | 1024 | 2048 |
| Java Server Nodes | 1 | 4 |
| J2EE Configtool --> Global Server Configuration --> Services --> com.sap.security.core.ume.services
| ume.r3.connection.master.poolmaxsize = 10
ume.r3.connection.master.poolmaxwait = <blank> | ume.r3.connection.master.poolmaxsize = 50
ume.r3.connection.master.poolmaxwait = 60000 |
| J2EE Visual Admin --> Cluster --> Server --> Services -> SAP XI AF CPA Cache
OSS#804124 | SLD.selfregistration.hostName = XI DNS Full Domain Name (THIS VALUE IS BLANK)
SLD.selfregistration.httpPort = <j2ee_port> (THIS VALUE IS BLANK | SLD.selfregistration.hostName = xi-integration.<co>.com
SLD.selfregistration.httpPort = 50000 |
| J2EE Visual Admin --> Cluster --> Server --> Services --> SAP XI Adapter: XI | xiadapter.inbound.persistDuration.default=2592000000 (30 DAYS)
xiadapter.outbound.persistDurationdefault=2592000000 (30 DAYS) | xiadapter.inbound.persistDuration.default= 432000000 (5 DAYS)
xiadapter.outbound.persistDurationdefault= 432000000 (30 DAYS) |
| J2EE Visual Admin --> Cluster --> Server --> Services --> SAP XI AF Messaging (Do for all adapters and server nodes)
OSS#803145 | (name=AFW, messageListener=localejbs/AFWListener, exceptionListener=localejbs/AFWListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=MPA, messageListener=localejbs/MarketPlaceAdapterListener, exceptionListener=localejbs/MarketPlaceAdapterListener, ackListener=localejbs/MarketPlaceAdapterListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=JPR, messageListener=localejbs/JPR, exceptionListener=localejbs/JPR, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=RNIFAdapter, messageListener=localejbs/RNIFMessageListener, exceptionListener=localejbs/RNIFMessageListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=CIDXAdapter, messageListener=localejbs/CIDXMessageListener, exceptionListener=localejbs/CIDXMessageListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=BcAdapter, messageListener=localejbs/BcAdapterListener, exceptionListener=localejbs/BcAdapterListener, ackListener=localejbs/BcAdapterListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=test, messageListener=localejbs/TestListener, exceptionListener=localejbs/TestListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=RNIF11Adapter, messageListener=localejbs/RNIF11MessageListener, exceptionListener=localejbs/RNIF11MessageListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10) | (name=AFW, messageListener=localejbs/AFWListener, exceptionListener=localejbs/AFWListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=MPA, messageListener=localejbs/MarketPlaceAdapterListener, exceptionListener=localejbs/MarketPlaceAdapterListener, ackListener=localejbs/MarketPlaceAdapterListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=JPR, messageListener=localejbs/JPR, exceptionListener=localejbs/JPR, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=RNIFAdapter, messageListener=localejbs/RNIFMessageListener, exceptionListener=localejbs/RNIFMessageListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=CIDXAdapter, messageListener=localejbs/CIDXMessageListener, exceptionListener=localejbs/CIDXMessageListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=BcAdapter, messageListener=localejbs/BcAdapterListener, exceptionListener=localejbs/BcAdapterListener, ackListener=localejbs/BcAdapterListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=test, messageListener=localejbs/TestListener, exceptionListener=localejbs/TestListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10)(name=RNIF11Adapter, messageListener=localejbs/RNIF11MessageListener, exceptionListener=localejbs/RNIF11MessageListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10) |
| J2EE Visual Admin--> Cluster --> Server --> Services --> SAP XI AF Messaging
(Do for all server nodes) | (name=AFW, messageListener=localejbs/AFWListener, exceptionListener=localejbs/AFWListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10) | (name=AFW, messageListener=localejbs/AFWListener, exceptionListener=localejbs/AFWListener, pollInterval=60000, pollAttempts=100, Send.maxConsumers=5, Recv.maxConsumers=5, Call.maxConsumers=10, Rqst.maxConsumers=10) |
Java Memory Configuration: Dispatcher (Go Live Recommendation)
| Parameter | Old Value | New Value |
| Initial Heap Size (Xms) | -Xms170m | -Xms200m |
| Maximum Heap Size (MaxHeapSize) | -Xmx170m | - Xmx200m |
| -Xmn70m | Not Set | -Xmn70m |
| -Xgcpolicy:gencon | Not Set | -Xgcpolicy:gencon |
| Garbage Collector Log | Not Set | -verbose:gc |
Java Memory Configuration: Server Nodes (Go Live Recommendation) Used note# 861215 as reference.
| Parameter | Old Value | New Value |
| maximum heapsize (MaxHeapSize) | -Xmx1024m | -Xmx2048m |
| minimum heapsize (Xms) | -Xms1024m | -Xms2048m |
| concurrent and generational garbage collector (GC) | Not Set | |
| min and max heapsize for young objects (nursery) | Not Set | -Xmn400m |
| verbose output of garbage collector activities | -verbose:gc | -verbose:gc |
Basis Specific Background Jobs
| Job Name | ABAP Program | Variant | Frequency | Description |
| SAP_REORG_JOBS | RSBTCDEL2 | YBASIS | Daily | Deletes old background jobs |
| SAP_REORG_SPOOL (Client Dependent) | RSPO1041 | YBASIS | Daily | Deletes old spool data |
| SAP_REORG_BATCHINPUT (Client Dependent) | RSBDCREO | SAP&001 | Daily | Deletes old batch input sessions |
| SAP_REORG_ABAPDUMPS | RSSNAPDL | SAP&001 | Daily | Deletes old ABAP short dumps |
| SAP_REORG_JOBSTATISTIC | RSBPSTDE | SAP&001 | Monthly | Deletes old data from the job runtime statistics |
| SAP_COLLECTOR_FOR_JOBSTATISTIC | RSBPCOLL | N/A | Daily | Generates runtime statistics for background jobs |
| SAP_COLLECTOR_FOR_PERFMONITOR | RSCOLL00 | N/A | Hourly | Collects data for the performance monitor |
| SAP_COLLECTOR_FOR_NONE_R3_STAT | RSN3_STAT_COLLECTOR | N/A | Hourly | Starts data collectors for non ABAP statistics records |
| SAP_REORG_PRIPARAMS | RSBTCPRIDEL | N/A | Monthly | Reorganizes the print parameters across clients |
| SAP_REORG_XMILOG | RSXMILOGREORG |
| Weekly | Deletes obsolete entries in the XMI log |
| SAP_CCMS_MONI_BATCH_DP | RSAL_BATCH_TOOL_DISPATCHING | N/A | Hourly | Starts long running data collectors that report application specific values to the monitoring architecture |
| SAP_REORG_TSP | RSPO1043 | YBASIS | Daily | Checks the consistency of the spooler and of the TemSe and evaluates the results if necessary |
| SAP_REORG_ORPHANED_JOBLOGS | RSTS0024 | YBASIS | Weekly | Deletes job logs that no longer belong to any job and orphaned jobs after run of RSBTCDEL |
| SAP_SLD_DATA_COLLECT | RSLDAGDS | N/A | Every 720 minutes | Updates the Technical System information in the SLD. This job is automatically scheduled from RZ70 during SLD registration. |
| SAP_SLD_DATA_COLLECT_STARTUP | RSLDAGDS | N/A | During System Startup | Updates the Technical System information in the SLD. This job is automatically scheduled from RZ70 during SLD registration. |
| SAP_REORG_UPDATERECORDS | ||||
| SAP_WP_CACHE_RELOAD_FULL | DELETE THIS JOB PER NOTE 16083 and also remove from SM36 | |||
Basis Specific Background Variants
| ABAP Program | Variant |
|
| RSBTCDEL2 | YBASIS with attribute meaning = Reorg of batch jobs |
Deletes Finished and Canceled batch jobs older than 10 days. |
| RSPO1041 | YBASIS with attribute meaning = Delete old spool request |
|
| RSBDCREO | SAP&001 |
Deletes old batch input sessions older than 20 days |
| RSSNAPDL | SAP&001 |
Deletes old ABAP short dumps which are more than 6 days old with 100,000 numbers of entries to remain and 500 entries can be deleted at once. |
| RSBPSTDE | SAP&001 |
Deletes Statistics data from the Job Run-time statistics older than 30 days. |
| RSPO1043 | YBASIS with attribute meaning = Spool Data Consistency Check |
Deletes write locks from background jobs with spool after 7 days. |
| RSTS0024 | YBASIS with attribute meaning = Delete orphaned job logs |
Deletes orphaned logs despite the warning for more than 200,000 jobs in the system. Job SAP_REORG_JOBS will minimize the number of jobs. |




