Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.
Here is the the course and measured times of a synchronous RFC from the perspective of performance analyzing.
The figure illustrates the course and measured times of a synchronous RFC, which are displayed in the single-record statistics (Transaction STAD) and in the workload monitor (Transaction ST03).RFC Cycle shown as follow:
Establishing the connection (the CMINIT phase)
Data exchange (CMSEND and CMRECEIVE phases)
Closing the connection or wait status
Repeated data exchange
Closing the connection
In this procedure, Establishing the connection should take only a few milliseconds. If you find this status (the CMINIT phase) often in the work process overview, there may be an overload in the recipient system.
2317074 - "timeout during allocate" when starting external programs
1842162 - Connection test SM59: Timeout during allocate
944792 - Runtime analysis when you start external RFC servers
1333483 - Timeout during allocate of a registered program
During the connection,RFC users are running in the Dialog work process in the receiver system. By specifying RFC user ID, you can monitor the RFC process in the receiver system.
2180934 - Analysis of Work process in "On Hold" RFC, or Stopped CPIC status
1260137 - Work process status "Stopped RFC" by SAPLARFC (tRFC/qRFC)
1324454 - qRFC scheduler is still set to WAITING status
After the data exchanging, finally, the connection is closed. The recipient work process is free again, and the sender work process continues with its work.
1520551 - RFC: Connections in Gateway are not closed
RFCs and Network issues
One source of high RFC time can be a potential Network issue. In this case, the systems involved need to be identified in order to perform a NIPING analysis and test latency. See the following;
2471983 - Identifying RFC connections in STAD and ST03
552845 - FAQ: RFC Statistics in Transactions ST03/ST03N and STAD
After identifying the systems involved, you can perform a NIPING analysis to see if Network is a source of the high RFC time.
Related SAP Notes and KBAs
General performance issues 2418936 - High RFC time: Performance troubleshooting 2457530 - Performance problems with OLE_FLUSH_CALL, how to analyze 2490095 - ARFC_RUN_NOWAIT is slow 638701 - Starting RFC servers takes too long 2426336 - Performance analysis of external RFC server programs (registered program) 2356090 - GW: RFCs hang 2442915 - GW: RFCs hang (II) 1485789 - QRFC: Long running processes in SM50 2140916 - Performance issues in RFC processing (Oracle) 1946287 - Slow RFC performance shown in ST03N for TASK_VITAL_PERIOD by SAP_WSRT user 2468083 - Hanging RFC session of FM SALC_PERF_REPORT_VALUE in SM04 532918 - “RFC trace generation scenarios”, section 2 “Communication from ABAP to an external program”
Connection issues 1954118 - Connection Failure with RFC Destination of Started External RFC Server and Memory Leaks with RFC Accept 1403974 - Determining the maximum connections in transaction SMQA
Load balancing 593058 - New RFC load balancing procedure 103523 - RFC Load Balancing RFC queue processing 1272327 - "Max.Runtime" and a generic queue in SMQS and SMQR 527481 - tRFC or qRFC calls are not processed 869399 - * bottlenecks when processing CIF queues (LUWs) 1324454 - qRFC scheduler is still set to WAITING status 1493644 - Long running process reading TRFCQIN blocking execution 2334064 - Various issues with qRFC processing after a support package 1051445 - qRFC scheduler does not use all available resources 1623430 - Outbound queue scheduler does not process all LUW’s
Incorrect/Very high RFC time 2071875 - Incorrect Average RFC Interface Time ("CPIC/RFC") in ST03N Workload Overview 570751 - Incorrect RFC+CPIC time/Roll time wait in ST03 2241334 - ST: Queue time is too long