What is SAPS
SAPS is the standard SAP Benchmark of performance measurement ( i.e. measurement of CPU power). SAPS is an acroynm word for – SAP Application Performance Standard (SAPS).
It is hardware-independent unit of measurement that describes the performance of a system operation in the SAP environment. It is derived from the Sales and Distribution (SD) benchmark.
Hardware vendors do a benchmark on their hardware for SAP as per their methodology to see how many SD users can be supported. Each module has a weightage. The number of users in each module is converted to number of Normalized SD (NSD) and SAPS value can be obtained.
Standard SAP sizing tool is available in SAP Marketplace called Quicksizer. However, SAP standard tool is for estimate only and is not accurate. It does not benefit to customers to get the exact sizing solution.
Sizing solution in QuickSizer tool is based on number of concurrent users in each module, approximate number of objects created in each module and approximate number of line items created in every hour.
However, practically, only business functionality who are familiar with business transactions may provide information regarding estimate number of objects created per hour in each module-wise and estimate number of line items created or processed in every hour. Basis or System Administration or technical consultants are not sure what data to be entered in order to fill up the sizing in Quicksizer tool.
The question is whether it is mandatory to fill up the standard SAP Quicksizng tool?. The answer is No.
SAP stongly advises customers to contact various Hardware vendors and obtain sizing Questionnaires form from each vendor. Filled-up Questionnaires form will be sent back to their hardware vendors. There is no need to enter number of objects and / or line number of items created or processed in every hour. Hadrware vendors have their own default values. They recommend configurations with sufficient headroom to avoid resource bottlenecks.
Basis consultants from implementation partner can assist customer to filled-up quationanaires form and also choose the correct hardware configuration.
Hardware vendors cannot help you estimate the impact of workload and infrastructure changes ind eployed environments.
Limitation in using SAPQuick Sizing Tools
Sizing calculation is not an accurate. It is an estimate. SAP advises customers to contact Hardware supplier to provide sizing solution based on the customer’s requirement. Every Hardware supplier has its own sizing methodology.
Quicksizer estimates are based on assumptions – SAP assumtions about resource requirements based on transaction volumes generated by the user and the hardware vendor’s assumption about how deployed application will use system resources.
Quicksizer cannot help you estimate the impact of workload and infrastructure changes in deployed environments. When the CIO asks, “What will it take to support another five hundred users?” or “Can we do multiple application and infrastructure configurations?”
Inaccurate : No consideration of workload and infrastructure changes while sizing capacity and performance. Accuracy has been estimated at 20%. Hence it would be difficult to obtain the exact accuracy of SAPS value.
The following lists are not taken into account in SAP Quicksizer calculation.
- Custom Objects
- Workload (batch processing, print)
SAPS Sizing Methodology
In this document, SAPS calculation is taken on the basis of only number of users and workload. SAPS calculation is taken into account only for SAPECC 6.0 with EHP and SAP Netweaver 7.0 and higher. Also this document is valid for medium to large sized companies i.e. up to 3000 users and database size up to 2TB. This document is not valid for users beyond 3000 and database size above 2TB.
Classification of SAP users:
Based on the working hours, SAP users are classified into Low, Medium and High users.
Low users: Users that spend less than two hours working in SAP (Top Management levels such as Executives, CFO, CIO, Vice-President, General Managers, etc)
Medium users: Users that spend around four hours in SAP (Middle executives level such as Manager, Dy. Manager, Sr. Engineer, Account Officer etc)
High users: Users that spend more than four hours in SAP (Clerk, Supervisors, Junior Engineer, Junior Accounts officer, etc)
Based on my experience in various Implementation and Upgrade projects , the SAPS value is not influenced by the above-mentioned type of users. Hence SAPS value does not vary between High, Medium and Low users.
Normalized SD users:
Different modules have their own weightage. There are many various modules in SAP R/3 or ECC systems.
PP Production Planning
MM Materials Management
SD Sales and Distribution
FICO Finance and Controlling
HCM Human Capital Management
QM Quality Management
Classify the users who are involved in business transactions in each module. For example, if the number of users involved in Production Planning (PP) is 10, convert number of PP users to SD users. Thus one PP user is equivalent to 1.3SD user because in the PP module, the number of Line items created per one PP transaction is more than the number of line items created in one SD transaction. Therefore for ten PP users, number of SD users will be 1.3*10 = 13SD users.
Similarly, one Human resources (HR) user equals 0.4SD user becasue in HR module there is less number of line items created per one HR transactions than in one SD transaction. One Plant Maintenance (PM) user is equivalent to 1.1SD user .
Hardware vendors do a benchmark on their hardware for SAP as per their methodology to see how many SD users can be supported. The number of users in each module are converted into number of Normalized SD user (NSD) and SAPS value can be obtained.
SAP QuickSizer tool: To Obtain SAPS for number of named users
The tool is available in SAP MarketPlace website. This requires S-userid and password. CLick the following website link
(A) Sample result for SAPS value is shown in the figure
SAPS value based on Workloads
After obtaining SAPS for given users from SAP QuickSizer tool, additionally, the following lists must be taken in to account for calculating SAPS value.
- Custom Objects
- Batch Loads
(B) Rule of Thumb for Custom Objects:
Nearly all the SAP customers have large number of custom objects. Objects can be programs, tables, function modules etc. Custom programs consume much more SAP extended memory and high CPU utilization takes place because of inefficient coding or expensive sql coding. Hence SAPS value for custom objects is also to be considered.
Based on EWA reports from various customers, it is recommended that for custom objects with reporting required SAPS to be increased by 30% as a user executes most of the custom objects in a Dialog workprocesses. Thus taking custom objects into account
New SAPS for Custom objects = 30% of SAPS obtained from SAPQuickSizer tool
(C) Rule of Thumb for Interfaces
Additionally 15 % more for standard SAP BI interface with SAP ECC system is taken into account (since SAP Business Intelligence i.e. BI 7.0 extracts data from ECC 6.0, hence heavy processing takes place in ECC 6.0 system (see the transaction code sm50 with user “Aleremote” ) thus drastically lowering the performance . Hence required SAPS value is increased by 15%).
Furthermore, Non-SAP interface with ECC system is to be taken into account i.e. ECC system send / receive data from Non-SAP using IDOC. Hence required SAPS value is increased by 5%.Thus for SAP Bi and Non-SAP interafce with ECC system = 15+5 = 20% . Therefore
New SAPS value for Interface = 20% of SAPS obtained from SAP Quick Sizing tool.
(D) Rule of Thumb for Batch Loads
Experience showed that batch load depends on the number of application servers including primary instance. Number of dialog instances required depends on the number of users executing batch loads.
For example, assume for 1000 named users. one Primary instance and one Dialog Instance installed. In this scenario, batch loads for two servers will be extremely high where large number of batch jobs processing takes place becasuse batch jobs are distributed in only twos servers only.
However, if there are three Dialog instance servers installed in addition to Primary instance server, batch jobs are distributed in four servers . Hence load in each server can be medium to high for same number of users.
If there are more than five Dialog instance servers installed in addition to Primary instance server, batch jobs are distributed in six servers or more. Thus load in each server can be low to medium.
Note that, experience shows that for more number of batch jobs running in parallel in all application servers installed, high IO utilization will take place on database server. This will slows down overall Production system performance i.e. there will be high intensive read / write operation on Disk / filesystems storage in database server.
Thus it is advisable to schedule the jobs after office hours. Also It is advisable not to increase number of background work processes beyond 3 during office hours i.e. should not be > 3 background workprocesses in each application servers including primary instance server. This will improve IO performance and enable end users to work in SAP production system comfortably.
It is recommended that 25% extra be taken account for up to 3000 named users
Thus new SAPS value for Batch load = 25% of SAPS obtained from SAP QuickSizer tool
(E) Thumb rule for Unicode System loads
Unicode systems use between 1 and 5 bytes of space to store single characters. As a result, the resources of the system could be doubled.
Practically, the load on the CPU caused by the applications, increased by about 25-35%. The load on the RAM, again caused by application programs / transactions increased by about 50%.
It is advisable that 25% extra be taken so the required SAPS is increased by 25% for the databse size up to 2.5TB and irrespective of the number of users.
Thus SAPS for unicode system = 25% of SAPS obtained from SAP Quicksizer tool.
(F) Final SAPS result for Production system
Total SAPS value (F) = SAPS value obtained from SAP quick sizer tool (A) + SAPS value obtained from Custom Load (B) + SAPS value obtained from Interfaces (C) + SAPS value obtained from Batch load (D) + SAPS obtained from uniocde (E) .
Sample example is shown in the figure below.
Accuracy has been estimated at 55% because we have taken estimate value for custom loads, interfaces, uniocde and batch loads. Also other processes such as data Archiving, Monthly/Quarterly/yearly closing account , full offline/online backup etc are not taken into account.
SAPS for Non-Production systems
SAPS for Development server
Only business configuration data is created in the development system. There will be no master and applications data . Custom objects are created in development server and also unit testing takes place in this server.
Thus only few developers will be used in the development server.
Thumb Rule: 35% of Final SAPS taken in Production system (F) will be used for Development server.
SAPS for Quality Server
In Quality system, data such as Master, Applications, User, Business configuration will be present in the Quality server. Periodically, data in the quality system is refreshed with full Production data. Customizing data and / or custom objects imported into Quality system by means of transport requests that were created and released in the development system. After transport requests imported into the quality server, business consultants test business transactions or reports to ensure no error occured in the quality system.
Thus there will be some workprocesses (Dialog / background) running in the quality server during testing the transactions or reports.
Thumb Rule: 65% of Final SAPS taken in porduction system (F) will be used for Quality server.
Usually similar questions arises from various SAP customers
1) What SAPS value are required for database server and SAPS value for Central Instance Server ?
Though SAP recommends 30% of Final SAPS value for database server and 70% of Final SAPS value for Central Instance server.
I do not agree with SAP recommendation as the performance issue is mostly due to high database server load because more number of workprocesses status in “running” (as in transaction code sm50 or sm66) connected to database server for data fetch ( you can see in transaction code sm50 or sm66 “Sequential database read” or commit data i.e. saving records or line items to the database server ((high intensive Read and Write operations on the Disk storage in the database server causes extremely high IO load).
Hence it is strongly advisable to have higher SAPS value for Database server.
2) How many Application servers are required i.e. required number of Dialog Instance servers ?
Total number of workprocesses depends on the number of CPU or cores installed in the server. One core ( for CPU speed less than 3GHz) can handle two workprocesses. For CPU speed is 3GHz or higher, one core can handle five workprocesses. So for example if Central Instance has 6 cores and its CPU speed is 3.2Ghz then maximum number of workprocesses permissible is 30. To increase beyond workprocesses, you need additional application server (i.e. Dialog Instance Server).
3) What about SAPS value after version upgrade ?
For version upgrade from SAP R/3 4.6C or below to SAP ECC 6.0 with EHP 4 or higher or SAP WEB AS 620 and below upgrade to SAP Netweaver 7.3 and higher without unicode existing SAPS to be increased by 40% or by 60% with unicode.
For version upgrade from SAP ECC 5.0 to SAP ECC 6.0 with EHP 4 or higher or SAPWEB AS 640 and higher upgrade to NW 7.3 and higher. existing SAPS to be increased by 20% for non-unicode and 30% for uniocde
SAPS is not relevant for for EHP upgrade or SP stack upgrade, However, for additional number of users, SAPS calculation is to be taken in to account.
Quicksizer estimates are based on assumptions. This white paper describes sizing exercises which includes custom objects, interfaces, Batch loads and Unicode to obtain SAPS in more accurate results.
A Prasad Rao
http://service.sap.com/quicksizer – For Sizing exercises, QuickSizer tool from SAP MarketPlace