SAP Workprocess increment Request:
Requirement:
We received request from customer to increase/double SAP workprocesses (DIA and BTC) as current SAP
workprocess setup is not sufficient to handle workload and they are getting
lots of errors and performance issue.
Current setup:
• Dialog Currently 14
• Background
Currently 12
Required setup:
• Dialog 28
• Background 24
Solution:
To double the WPs one needs to check actual capacity of
server (memory/CPU) and related SAP parameter settings, on based on that we can
decide whether it is possible to increment SAP workprocess count or not!
Step 1:
First check current total WPs count, and calculate required
total WP count.
Current total WP count: 32
Required Total WP count: 70
SAP Parameters related to WP Current Required
rdisp/wp_no_dia 14 28
rdisp/wp_no_btc 12 24
rdisp/wp_no_vb 3 3
rdisp/wp_no_vb2 1 1
rdisp/wp_no_spo 2 2
Step 2:
Check what is the current max configurable WP parameter
setting.
Below SAP Parameters controls WP count configuration:
rdisp/wp_max_no =37
(dynamic WP+5 default value)
rdisp/configurable_wp_no =32
(dynamic WP-5 default value)
Here we need to keep one thing in mind, both above
parameters are depended on each other.
One needs to define value for rdisp/wp_max_no and based on given value it
calculates value of parameter rdisp/configurable_wp_no.
5 WPs are set for dynamic operation modes (by default).
Step 3:
Check SAP memory and CPU Core to understand whether system is capable of
additional workload or not.
I checked at SAP (ST06) and OS level:
RAM is of approx. 60 GB.
CPU: 8 core
Step 4:
There are Rules defined by SAP for configuring Workprocess
based on RAM as well as CPU core
Rules to set WPs as per SAP standard:
- Number of dialog work processes = RAM/256 (min 2, max 18)
- Number of update work processes = RAM/768 (min 1, max 6)
- Number of update2 work processes = RAM/1024 (min 1, max 3)
- Number of batch work processes = RAM/1024 (min 2, max 3)
- Number of enqueue work processes = 1
- Number of spool work processes = 1
8 CPU processes, so in general
1 core = 5 DIA WP
8 core = 40 DIA WP
So according to above standards system is capable of
handling additional load and there will be no performance issue if we increment
Workprocess count.
Steps 5:
Do we actually need those many WPs requested by customer?
Before incrementing Workprocess count, one needs to check/monitor
current system performance and make sure that request made by customer is valid.
Simple tricks:
Tcode : AL12--> monitor-->cusrsor cache-->all
servers
This will display total request for each WP.
Observation:
DIA and BTC having large no of Requests and
current DIA and BTC WPs are not able to handle those many requests and in turn
ending with error as well in trace logs we observed deadlock errors.
Tcode: SM50--> CPU time against each wp
Threshold: < 0:20
Observation:
DIA WP having CPU time more than 0:20 avg 0:22
Conclusion:
So request from customer is valid.
Step 6:
Actual execution based on above outputs.
So we decided to increment WP count requested by customer by
altering/adding below parameters and taken system restart to activate those SAP
parameters.
rdisp/wp_max_no 70
rdisp/wp_no_dia 28
rdisp/wp_no_btc 24
If you check in RZ11 for SAP Parameter: rdisp/configurable_wp_no
Now it will show value 65 (calculated automatically based on
value of parameter: rdisp/wp_max_no )