Very often I get asked from customers or collegues how to size a SMP3 landscape. In this post I will try to give some hints on how to perform a sizing for SAP Mobile Platform 3.0.
In previous SUP/SMP versions there was a Sizing Guide available, which could be used. With SMP3 the official answer to sizing questions is the “SAP Quicksizer”. This is a sizing tool, which is used already for different SAP products. With the relase of SMP3.0 it got enhanced to also support sizing of SAP Mobile Platform (OData and Mobiliser) scenarios.
Below I will describe briefly how to use the SAP Quicksizer. At first I will introduce the neccessary data you need to have (or to find out) to get a correct sizing (for OData based app handling). There are mainly two indicators you need to have:
- Number of Request per Second (The Quicksizer is working with Number per Requests per hour)
- Average payload of the request
An HTTP request usually contains a header, which includes header variables like cookies or authorization information and optionally a body, which contains the payload (e.g. if you want to create a new object you would execute a HTTP POST request with the xml or json representation of the object inside the body). The Server (in our case SMP3) will reply to this HTTP request with an HTTP response, e.g. HTTP 200. The reponse can contain data, for example if you send a GET request to get all elements of an OData collection, you will find in the reponse many XML or JSON objects inside the response body.
An estimation of the number of requests is not an easy task. Think about the app or apps that should be running on SMP. How many users are using this app? Are there peak hours? With an average using of an app how manny requests will be sent to SMP?
In the following you will find sizing information for a single node SAP Mobile Platform 3.0 SP03. This sizing information is aquivalent to the results the SAP Quicksizer Tool will give you. The needed hardware for the SMP server is provided in categories (T-Shirt sizes like XS, S, M, L, XL, XXL) and also in concrete SAPS. The needed RAM/Memory is also provided. The Database Disk is (for this sizing) a fixed value, defined as 101 GB.
This picture should only give you a hint/an idea about your SMP sizing. For a concrete sizing please always use the SAP Quicksizer.
Beside the number of requests you need the average size of the payload. Some things to consider when handling with payload:
Many backends, e.g. the SAP Netweaver Gateway support compressing the payload using gzip. You could ask for compressed payload by setting the header “Accept-Encoding” with value “gzip” into your HTTP request. In a SMP3 sizing you will usually calculate with the uncompressed payload.
The payload size also differs whether you implement the app using XML or JSON for encoding the payload. JSON will be significantly smaller than XML.
XML vs. JSON
In the following picture I measured the response payload size and needed time for XML and JSON requests against the Test Netweaver Gateway System sapes1.sapdevcenter.com. More specific a defined number of records are requested from the BookingCollection of the Sample OData Flight Service (RMTSAMPLEFLIGHT), so e.g. for 10 records in JSON encoding an HTTP GET request to following url was fired: http://sapes1.sapdevcenter.com:8080/sap/opu/odata/IWFND/RMTSAMPLEFLIGHT/BookingCollection?$top=10&$format=json
As you can see, the JSON encoded HTTP reponses have a smaller payload and will thus also be transfered in less time.
Actually the SAP Quicksizer is quite easy to use. I will describe in the following on how to create a sizing for SAP Mobile Platform.
1. Open the SAP Quicksizer http://service.sap.com/quicksizer
2. Click on “Start Quick Sizer”
3. Specify your Customer number, a project name (e.g. TestSMP3Sizing) and then create a project. If you already have a project, simply specify your project name and choose “Display Project” or “Change Project”.
4. The Quicksizer window will open. Inside the “Tree of Elements” expand the folder “Mobile” and choose “SAP Mobile Platform”.
5. Now you can see on the right side a Table 1 which will help you to size OData based scenarios. So type in your number of request per hour in Thousand. Note: Nuber in Thousands means that your specified number will be multiplied with 1000. Beside that specify the average Payload for each request in Kilobyte. The time frame can be adjusted with changing both fields right to the Payload field. By default, one peak hour is specified (in this case from 12:00 to 13:00)
6. After that click on the button “Calculate result” at the top of the page
7. In the next screen you will see the result. So it shows you the CPU category, the number of SAPS, the total memory and the database disk size.
8. Now you got the sizing results. Note that currently the Quicksizer sizing is focussing on a single node.
SAP Mobile Platform Scaling Whitepaper
There is also an interesting Whitepaper from SAP and Intel available, you can access it here: http://www.intel.in/content/dam/www/public/us/en/documents/white-papers/enterprise-security-sap-mobile-platform-scaling-paper.pdf