Parameters List D19 Q19 P10 DA2 rdisp/scheduler/prio_low/max_quota 70% 70% 70% 70% 80% 80% 80% 80% rdisp/scheduler/prio_low/max_runtime -- -- -- --rdisp/scheduler/prio_normal/max_runtime 60 m 60 m 60 m 60 m rdisp/scheduler/prio_high/max_runtime 10 m 10 m 10 m 10 m rdisp/max_wprun_time 600 3600 3600 600
SAP Kernel Version 749 – 218 749 – 218 749 – 218 749 – 200
Note: Scheduler run time parameters only become effective if the parameter rdisp/max_wprun_time is not explicitly set. It is recommended to migrate to the new parameters if the system is on SAP Kernel 7.40 and above.
rdisp/wp_no_dia 18
rdisp/scheduler/prio_low/max_quota 13 rdisp/scheduler/prio_normal/max_quota 15 rdisp/scheduler/prio_normal/max_quota
Page 2 QA2 70% 80% --60 m 10 m 600 749 – 200
Maximum quota of work processes used for low prio requests. The parameter limits the maximal number of low priority requests that can be processed in parallel Maximum quota of work processes used for normal or low prio requests
Max. run time depends on priority:medium and high priority sessions currently have defaults at one hour resp. 10 minutes.
Page 4 Maximum quota of work processes used for low prio requests. The parameter limits the maximal number of low priority requests that can be processed in parallel
2129291 - Session Priority and Work Process Quota in SAP Kernel 7.4x A request is the smallest unit of activity in the ABAP application server.
Each request belongs to a session and derives its priority from it.
Requests are created either by external sources (SAP GUI, HTTP client, RFC client) or internally by work processes. The objective of the kernel scheduler is to distribute requests to work processes according to priority.
All activities in the ABAP application server is associated with the sessions.
Sessions may be long-lived (e.g. a traditional SAP GUI session) or short-lived (e.g. a stateless HTTP request or a technical request).
Multiple sessions may be bundled together in one logon (only used by SAPGUI, where multiple "external mode" belongs to the same user logon). Sessions can be identified uniquely by their session key, which is shown in SM50, SM04 and other monitoring transactions, e.g. T36_U21086_M0). Starting from SAP Kernel 7.4x, each session is assigned a unique session type based on the way the session was created
Each session type comes with a default priority class
Session types cannot be changed during the lifetime of a session. Priorities are assigned to sessions based on their session type. There are three priority classes: high, medium and low.
The general concept is to assign high priority for activities that are directly related to user interaction, low priority for background activities and normal priority for everything that does not fall into one of the former categories. The low priority of batch requests is inherited by any RFCs started by the batch session, i.e. such RFCs also get low priority
Starting from SAP Kernel 7.4x, Scheduling within the application server has been changed with the introduction of request priorities.
you are able to achieve the same configuration for work process quota with the old profile parameters (i.e. profile parameters rdisp/rfc_min_dia_wp and rdisp/http_min_dia_wp) since RFC and HTTP requests are executed with the priorities normal and low. The ABAP application server has always employed the concept of a maximum runtime per dialog request, i.e. limiting the maximum time a request can spend being processed in a dialog work process before it is forcibly terminated.
Activities that could potentially trigger a "roll-out" (e.g. COMMIT WORK, RFC call, ...) restart the timer at zero. This is intended as a defensive mechanism to protect against unintentionally long dialog requests.
Without such a safety mechanism, any malfunctioning code in a session (blocking or looping ABAP code) would block a dialog work process forever - with adverse effects for the whole instance because dialog work processes are a critical system resource. The quota parameters allow for fine-tuning of scheduler behavior.
They should be used with care, and only if there is a clear indication that the resulting change of behavior is understood and found to be beneficial. the kernel scheduler distributes requests strictly according to priorities (highest first).
The parameter rdisp/scheduler/prio_low/max_quota limits the maximal number of low priority requests that can be processed in parallel
Even if there are free work processes and no requests with higher priority, the kernel scheduler will never use more work processes for the processing of low priority requests than this parameter prescribes. Note that this parameter aggregates the number of normal and low requests
It cannot be configured lower than rdisp/scheduler/prio_low/max_quota, resulting in the desired "at most normal priority" semantics.
The intention behind this maximal quota is to limit the number of concurrently executing low or normal priority requests, effectively reserving dialog work processes for increasingly more important activities. Quotas can be configured as fixed numbers or percentages of work processes (by appending '%').
No quota is used if the value is empty.
The concept of maximum run times has been introduced
Their intention is to protect against sessions monopolizing the precious common resource 'work process'
The value must always be chosen so that 'normal requests' have enough time to complete even under high load.
Before SAP Kernel 7.40, profile parameter rdisp/rfc_min_wait_dia_wp or rdisp/http_min_wait are used for determine the minimum number of free work processes not to process rfc or http requests. profile parameter rdisp/rfc_min_wait_dia_wp and rdisp/http_min_wait_dia_wp determines the maximum number of work process for rfc requests and for http requests
There are specific scheduler parameters (with the prefix "rdisp/scheduler") for the configuration
Page 6
you are able to achieve the same configuration for work process quota with the old profile parameters (i.e. profile parameters rdisp/rfc_min_dia_wp and rdisp/http_min_dia_wp) since RFC and HTTP requests are executed with the priorities normal and low. The ABAP application server has always employed the concept of a maximum runtime per dialog request, i.e. limiting the maximum time a request can spend being processed in a dialog work process before it is forcibly terminated.
Page 8 Session Type Priority
System High
SAP GUI High
Sync. RFC Normal Async. RFC Normal RFC UI High HTTP Normal HTTP UI High Batch Low SMTP Normal BGRFC Scheduler High BGRFC Unit Normal
1962145 - Dynamic work process starts and stop frequently RSPARAM report
Description
Internal session (e.g. to execute Auto-ABAP or other internal tasks) Online session with SAP GUI front end
Synchronous RFC server session Asynchronous RFC server session
Online RFC server session (e.g. SM51 - remote logon) HTTP session
Online session with HTTP UI Session with background processing
SMTP (Simple Mail Transfer Protocol) session Background RFC scheduler session
Background RFC unit
1962145 - Dynamic work process starts and stop frequently
Page 10 Parameter Default rdisp/scheduler/prio_low/max_quota 80% rdisp/scheduler/prio_normal/max_quota 80% Parameter Default rdisp/scheduler/prio_low/max_runtime (empty) rdisp/scheduler/prio_normal/max_runtime 60m rdisp/scheduler/prio_high/max_runtime 10m
Description
Maximum quota of work processes used for low prio requests
Description Maximum run time for low prio requests Maximum run time for normal prio requests Maximum run time for high prio requests
Maximum quota of work processes used for normal or low prio requests
Page 12 rdisp/scheduler/ prio_normal/max_runtime
This parameter limits the time for which a request with normal priority can run uninterrupted in a dialog work process before it is forced to terminate.
Interruptions, that is, activities that could lead to a work process switch (roll-out) (for example, COMMIT WORK, RFC call, and so on) each restart the time interval at zero. For reasons of backward compatibility, this parameter only takes effect, if the parameter rdisp/max_wprun_time is not explicitly set.
The rdisp/scheduler/prio_*/max_runtime parameters provide the same functionality as the parameter rdisp/max_wprun_time, but allow differentiation by priorities. The system assigns normal priority to all RFC and HTTP dialog requests that are not directly triggered by user interaction.
The intention behind this parameter is mainly defensive. It limits the consequences of an activity unintentionally running for a long time:
it means that a hanging request or a programming error cannot indefinitely block a dialog work process that is intended for activities with normal priority. Choose a value that allows enough time for correctly-running requests with normal priority to be processed, even under load.
After the maximum runtime has expired, the program terminates at two levels:
If the program is currently executing ABAP commands, the ABAP processor terminates the program.
If the program is hanging in an external command, such as SQL, the entire work process is terminated after a second time period of a maximum of 60 seconds, and the user context is reset after the process restart. The unit can be specified as seconds, minutes, hours, or days by adding ‘s’, ‘m’, or ‘h’ . There can be spaces between the value and the unit.
Specifications without a unit are interpreted as seconds. If not value is specified, the runtime is unlimited. rdisp/scheduler/prio_high/max_runtime
This parameter limits the time for which a high-priority request can run uninterrupted in a dialog work process before it is forced to terminate.
The system assigns high priority to all dialog requests that are directly triggered by user interaction (GUI, RFC remote logon through SM51), and to all system requests (everything that runs in the dialog work process and is not GUI, HTTP, or RFC. rdisp/scheduler/prio_low/max_runtime
This parameter limits the time for which a low-priority request can run uninterrupted in a dialog work process before it is forced to terminate. The system assigns low priority to all RFC dialog requests that are triggered by a background request.