Tuesday, April 4, 2017

SAP Workprocess increment request

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 )


No comments:

Post a Comment