End-To-End Sizing Calculation – Gateway Customer Scenario Example
The following example is provided to help you and Gateway customer to understand the delta sizing calculations for the SAP backend systems using flows called through SAP NetWeaver Gateway.
It illustrates initial sizing for backend components like standard SAP services or customer own code that is called remotely via SAP NetWeaver Gateway.
In addition, the example provides some recommendations on how to deal with, or avoid overloading of the backend systems.
More information about Gateway sizing can be found in the Gateway sizing guide document located in http://service.sap.com/sizing → Sizing Guidelines → Solutions & Platform – New Structure → (1) SAP NetWeaver or (2) Mobile → SAP NetWeaver Gateway 2.0 SP05.
Data preparation for sizing calculations
- Customer A identified the peak time period of one hour for their entire business flows. During this peak hour, the end users that consumed Gateway services triggered the most number of calls. For example, it can be Monday morning between 9:00 and 10:00 AM.
- Customer A identified the most commonly used flows, out of all possible flows that consume Gateway. Usually, 20% of the flows are called in 80% of the cases. Customer A also identified several flows out of the most commonly used flows in the existing CRM system, and some flows in the existing ERP system through Gateway. The ERP and CRM systems are already in use by non-Gateway scenarios, and customer A has collected information about the current CPU and memory utilization during a working day and required peak hour for application and database (DB) layers. This information is essential in order to find whether current ERP and CRM systems can handle the additional load initiated by Gateway.
- Customer A extrapolated the maximum number of calls that will be called by every end user per each of the flows found in step 2 above. The number of calls extrapolation can be also done according to averages, but for more precise sizing, it is better to take the maximum. For example, the following information was identified:
Maximum operations per peak hour table:
Flow description |
Maximum Number of operations in peak hour per end user |
Backend system |
Query Sales Activities for 1 day period |
3 |
CRM |
Query Sales Activities for 1 week period |
1 |
CRM |
Query contacts |
3 |
CRM |
Query products according to sales organization and customer Id. |
10 |
ERP |
Retrieve pricing of material according to sales organization, customer Id and material ID. |
10 |
ERP |
In this example, total number of operations per end user per peak hour equals to 27. There are 7 operations in the CRM system and 20 operations in the ERP system.
For example, current CRM and ERP systems utilization (before Gateway) during the peak hour:
SAP systems utilization during peak hour table:
ERP system utilization |
CRM system utilization |
||||||
Application layer |
DB layer |
Application layer |
DB layer |
||||
CPU |
Memory |
CPU |
Memory |
CPU |
Memory |
CPU |
Memory |
40% |
30% |
30% |
20% |
30% |
40% |
30% |
20% |
The assumption is that the peak hour of the backend systems is not shifted by Gateway usage. Another assumption is that peaks for backend and Gateway systems are at the same peak hour.
4. Customer A must find the number of the end users that will trigger the calls toward Gateway during peak hour. (For example 10,000 users)
5. Customer A asked their hardware partner to provide the SAPS of ERP and CRM systems. If the customer’s hardware partner does not inform him about the SAPS of his systems, he can get similar systems at: http://www.sap.com/solutions/benchmark/sd2tier.epx. For example, the following SAPS numbers and memory were provided to a customer by the hardware partner.
SAP systems SAPS & Memory table:
|
ERP system |
CRM system |
||
Layer |
Application layer |
DB layer |
Application layer |
DB layer |
SAPS |
150,000 |
30,000 |
100,000 |
30,000 |
Memory (GB) |
400 |
100 |
300 |
100 |
For more information about SAPS go to: http://www.sap.com/campaigns/benchmark/measuring.epx
Prerequisites for sizing calculations
To start the sizing calculations, make sure that the following requirements are met:
- Single user test requirements.
Customer has to verify that every flow specified by him for sizing calculations meet his performance Key Performance Indicators (KPIs). Sometimes the customer has to implement Gateway interfaces, and has to verify that his implementation (especially in backend systems) meet his KPIs.
The verification can be done by using STAD transaction by monitoring response time, CPU and memory consumption for every flow on your Gateway and backend systems. - The flow has scalable behavior.
The customer has to verify at least data scalability dimension. Example for non linear behavior: the CPU consumption for retrieving 10 objects is 100 ms, but retrieving 100 objects it is 2 seconds. The expected CPU consumption for 100 objects retrieval is under 1 second. - The customer can verify also user scalability dimension by having parallel users as incremental factor and monitoring system resources.
Sizing calculations
Once Customer A completed the data preparation and prerequisites steps, customer A started with sizing calculation process in order to find SAPS values of his Gateway and backend systems.
First step:
Initially, customer A found CPU consumption of the Application and DB layers for Gateway and backend systems of every flow participated in the sizing guide by using STAD transaction. For example, the following are the CPU and DB consumption numbers for the single user flows:
Single operation consumption table:
Flow description |
Gateway consumption (ms) |
ERP Backend system consumption (ms) |
CRM Backend system consumption (ms) |
|||
CPU |
DB |
CPU |
DB |
CPU |
DB |
|
Query Sales Activities for 1 day period |
30 |
5 |
N/R |
N/R |
500 |
150 |
Query Sales Activities for 1 week period |
50 |
5 |
N/R |
N/R |
800 |
200 |
Query contacts |
40 |
5 |
N/R |
N/R |
200 |
100 |
Query products according to sales organization and customer Id. |
50 |
5 |
300 |
150 |
N/R |
N/R |
Retrieve pricing of material according to sales organization, customer Id and material ID. |
30 |
5 |
150 |
100 |
N/R |
N/R |
Second step:
Now, customer A has to identify the required consumption on application and DB layers for all operations during peak hour per each flow and for all users.
In order to do so, every value in the table “Single operation consumption” that was found in step 1, will be multiplied with “Maximum operations per peak hour” table (see the section, Data preparation for sizing calculations) according to the flow description.
In addition, each value will be multiplied with the end users number (see the section, Data preparation for sizing calculations) which will trigger the calls toward Gateway during peak hour (10,000 users).
For example, Gateway total required consumption on application layer for “Query contacts” flow will be calculated as following:
Gateway application layer single operation CPU consumption |
= |
40 |
Maximum number of operations in peak hour per end user |
= |
3 |
End users number which will trigger the calls toward Gateway during peak hour |
= |
10,000 |
The final calculation: 40*3*10,000 = 1,200,000 (ms). We can convert this number into seconds by dividing it by 1,000. And therefore 1,200,000/1,000 = 1,200 seconds.
Total consumption table:
Flow description |
Maximum Number of operations in peak hour per end user |
Gateway total consumption (sec) per hour |
ERP Backend system total consumption (sec) per hour |
CRM Backend system total consumption (sec) per hour |
|||
|
|
CPU |
DB |
CPU |
DB |
CPU |
DB |
Query Sales Activities for 1 day period |
3 |
900 |
150 |
N/R |
N/R |
15000 |
4500 |
Query Sales Activities for 1 week period |
1 |
500 |
50 |
N/R |
N/R |
8000 |
2000 |
Query contacts |
3 |
1200 |
150 |
N/R |
N/R |
6000 |
3000 |
Query products according to sales organization and customer Id. |
10 |
5000 |
500 |
30000 |
15000 |
N/R |
N/R |
Retrieve pricing of material according to sales organization, customer Id and material ID. |
10 |
3000 |
500 |
15000 |
10000 |
N/R |
N/R |
Third step:
Since the operations will be executed during one hour, customer A calculated the number of single computing units (SCUs), it is needed to complete the required processes for Gateway and backend systems of application and DB layers per each flow. Customer A divided every value in table “Total consumption” by 3,600 per hour (1 hour = 60 minutes*60 seconds).
Number of SCUs required completing the required processes table:
Flow description |
GW – number of SCUs |
ERP Backend system – number of SCUs |
ERP Backend system – number of SCUs |
|||
Layer |
Application |
DB |
Application |
DB | Application | DB |
Query Sales Activities for 1 day period |
0.25 |
0.041667 |
N/R |
N/R | 4.16666667 | 1.25 |
Query Sales Activities for 1 week period |
0.13888889 |
0.013889 |
N/R |
N/R | 2.22222222 | 0.555556 |
Query contacts |
0.33333333 |
0.041667 |
N/R |
N/R | 1.66666667 | 0.833333 |
Query products according to sales organization and customer Id. |
1.38888889 |
0.138889 |
8.33333333 |
4.16667 | N/R | N/R |
Retrieve pricing of material according to sales organization, customer Id and material ID. |
0.83333333 |
0.138889 |
4.16666667 |
2.77778 | N/R | N/R |
Forth step:
Customer A identified the required SAPS values of Application and DB layers for Gateway and backend systems.
In order to complete the calculations, customer A identified the “Single computing Unit” SAPS value of the Gateway, ERP and CRM systems in which the measurements done.
For more information about “Single computing Unit” please read SAP Note number 1501701, or contact your hardware partner.
For example, customer A identified that “Single computing Unit” SAPS value of the Gateway, ERP and CRM systems equals to 1,000 SAPS.
In addition, customer A took into account that target CPU utilization on all layers for all machines should not exceed 65%.
In order to get the required SAPS value for application and DB layers on GW, EPR and CRM machines, customer A multiplied “Single computing Unit” (1,000 SAPS) by every value in “Number of SCUs required to complete the required processes” table found in step 3 and divided each value by factor 0.65.
Final SAPS values table:
Flow description |
GW system Required SAPS |
ERP Backend system Required SAPS |
CRM Backend system Required SAPS |
|||
Layer |
Application |
DB |
Application |
DB |
Application |
DB |
Query Sales Activities for 1 day period |
385 |
64 |
N/R |
N/R |
6410 |
1923 |
Query Sales Activities for 1 week period |
214 |
21 |
N/R |
N/R |
3419 |
855 |
Query contacts |
513 |
64 |
N/R |
N/R |
2564 |
1282 |
Query products according to sales organization and customer Id. |
2137 |
214 |
12821 |
6410 |
N/R |
N/R |
Retrieve pricing of material according to sales organization, customer Id and material ID. |
1282 |
214 |
6410 |
4274 |
N/R |
N/R |
Total |
4530 |
577 |
19231 |
10684 |
12393 |
4060 |
The Total SAPS numbers represent the required SAPS for application or DB layers on Gateway, ERP and CRM machines for processing Gateway flows.
Customer A also identified the memory consumption required for Gateway flows for application and DB layers on gateway, ERP and CRM systems as following:
Gateway application & DB layers: memory consumption formula is 1,000 SAPS = 1.5 GB memory.
ERP & CRM application layer (only valid for Gateway scenarios): memory consumption formula is 1,000 SAPS = 1.5 GB memory.
ERP & CRM DB layer (only valid for Gateway scenarios): memory consumption formula is 1,000 SAPS = 3 GB memory.
Flow description |
GW system Required Memory(GB) |
ERP Backend system Required Memory (GB) |
CRM Backend system Required Memory (GB) |
|||
Layer |
Application |
DB |
Application |
DB |
Application |
DB |
Total SAPS |
4530 |
577 |
19231 |
10684 |
12393 |
4060 |
Total memory |
7 GB |
1 GB |
30 GB |
32 GB |
20 GB |
12 GB |
Fifth step:
Customer A identified the hardware required for Gateway system, and whether their ERP and CRM systems with current hardware can serve Gateway flows in addition to the current systems utilization.
Customer A contacted their hardware partner and requested for a Gateway server hardware according to the SAPS found in forth step.
As already mentioned in the section, Data preparation for sizing calculations, the conversion of SAPS to potential hardware is done by SAP technology partners.
In addition, customer A identified the percentage of ERP and CRM SAPS as found in forth step, out of the total amount of SAPS specified in the section, Data preparation for sizing calculations.
Percentage of required SAPS out of total SAPS table
|
ERP system SAPS |
CRM system SAPS |
||
Layer |
Application layer |
DB layer |
Application layer |
DB layer |
Total SAPS (already found) |
150,000 |
30,000 |
100,000 |
30,000 |
Additional SAPS required for Gateway flows (as found in forth step) |
19231 |
10684 |
12393 |
4060 |
Percentage of SAPS required for Gateway flows out of total |
13% |
36% |
13% |
14% |
Customer A identified the percentage of ERP and CRM memory consumption found in forth step out of total memory consumption specified in “Data preparation for sizing calculations” step 5.
|
ERP system Memory |
CRM system Memory |
||
Layer |
Application layer |
DB layer |
Application layer |
DB layer |
Total Memory (GB) |
400 |
100 |
300 |
100 |
Additional memory required for Gateway flows (GB) |
30 |
32 |
20 |
12 |
Percentage of memory required for Gateway flows out of total |
8% |
32% |
7% |
12% |
The customer verified that his ERP and CRM systems can handle additional load which will be triggered by Gateway flows: Total load (Current & Gateway) table.
|
ERP system utilization |
CRM system utilization |
||||||
|
Application layer |
DB layer |
Application layer |
DB layer |
||||
|
CPU |
Memory |
CPU |
Memory |
CPU |
Memory |
CPU |
Memory |
Current load without Gateway |
40% |
30% |
30% |
20% |
30% |
40% |
30% |
20% |
Target utilization including factor of 65% |
62% |
N/R |
46% |
N/R |
46% |
N/R |
46% |
N/R |
Additional load caused by Gateway flows |
13% |
8% |
36% |
32% |
13% |
7% |
14% |
12% |
Total load (Current + Gateway) |
75% |
38% |
82% |
52% |
59% |
47% |
60% |
32% |
Customer A identified the ERP and CRM systems can handle additional load caused by Gateway flows since all the numbers are below 100%.
In case you identify that one of the total load values in percentage is over 100% you can consider the following:
- Change the value target utilization to be more than 65%. Highly recommended for big systems and DB systems.
- Consult your hardware partner regarding additional hardware resources. Add more Hardware to support additional load caused by SAP NetWeaver Gateway flows.
- In case it is not possible to add more hardware for your existing SAP systems (especially DB layer), consider implementing the throttling BADI provided within SAP NetWeaver Gateway 2.0 SP5 version.
Customer A successfully implemented SAP NetWeaver Gateway solution and they are live with a production system.