Skip to Content

SMP3 Sizing

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:

  1. Number of Request per Second (The Quicksizer is working with Number per Requests per hour)
  2. 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.

02_Number_of_Req_Sizing_Result.png

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

01_XML_vs_JSON.png

As you can see, the JSON encoded HTTP reponses have a smaller payload and will thus also be transfered in less time.

SAP Quicksizer

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”.

  03_SAP_Quicksizer_Create_Project.png
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

04_SAP_Quicksizer_Setting_Throughput_Values.png

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.

05_SAP_Quicksizer_Outcome_Result.png

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

To report this post you need to login first.

21 Comments

You must be Logged on to comment or reply to a post.

        1. Bill Froelich

          I would hope so personally but since I don’t know who is responsible for the tool I can’t really say one way or the other.

          Sorry,

          –Bill

          (0) 
          1. saurabh shrivastava

            Hi Bill,

            i wanted to ask you no of request per hour in thousand means if i want to check it for small  like 500 reuest per customer then i will enter 500 there then it will be multiplied by 500*1000?

            BR,

            saurabh

            (0) 
            1. Midhun VP

              Hi Saurabh,

              If you have 1000 users making 1 request every hour, ie. total of 1000 requests per hour. You have to put 1 under request/1000 column with time interval of 1 hour.

              Regards, Midhun

              SAP Customer Experience Group – CEG

              (0) 
            1. Bill Froelich

              I do not see Agentry applications listed in the Quicksizer.  So I guess that is a no for now.

              Hopefully they will be included in the future.

              –Bill

              (0) 
    1. Midhun VP

      Hi saurabh,

      SAPS (SAP Application Performance Standard) is a hardware-independent unit that describe the performance of a system configuration in SAP environment. It is derived from SD benchmark: SAP Standard Application Benchmarks

      There are multiple factors involved if you want to calculate the SAPS manually – Base download SAPS, upload SAPS etc. Drop me a mail (mail id mentioned in my SCN profile) I will share the relevant documents. Since these guides are not public I can’t share it here.

      Regards, Midhun

      SAP Technology RIG

      (0) 
  1. Muhammad Farooq

    I am still confused about the Data tier sizing requirements.

    Question 1: How to measure the SAPS (CPU, Memory, Disk) for Data Tier in 3-tier architecture?

    Question 2: Does SMP 3.x worry about Database sizing as far as OData offline applications are concerned? As SMP 2.x version heavily rely on Database with MBO based approach as a middle tier where all data is synced at SMP server. Is it the same case with SMP 3.x OData offline or not?

    Any comments will be highly appreciated.

    (0) 
    1. Marvin Hoffmann Post author

      OData Offline in SMP 3 is working different than the MBO based synchronization approach which has been used in SMP 2.x.

      In SMP 3 the client database is synchronized with an OData Producer and not against a database (as in SMP 2.x the CDB). Thus SMP 3 does not store structured business data coming from backend inside its own database. That is way (usually) the SMP3 database can be sized smaller than in equivalent SMP 2.x scenarios.

      (0) 
  2. Hemendra Sabharwal

    Hi Marvin/Midhun,

    I am working on “Native Android App”, here I am facing problem in restricted data set (1000 records) in Online, but in prior version of SMP3.0 SP05 it was complete data set was populating. So the question here is, whether this “Response Payload” is also restricted/increased through Quick Sizer. How can we see this setting in SMP3.0 SP09 PL04?

    Thanks,

    Warm Regards

    Hemendra

    (0) 
    1. Marvin Hoffmann Post author

      Quicksizer is only a tool which helps you in sizing your system. It does not hold any system configuration possibilites.

      Are you using Integration Gateway?

      If yes, then it is the default behavior that you get only 1000 records (for performance reasons). But you can overwrite this behavior either by setting the header MAX_RECORDS when requesting the data or by using custom coding:

      message.setHeader(ODataCamelExchangeHeaders.MAX_RECORDS.toString(), 2000);

      (0) 
      1. Hemendra Sabharwal

        Thank You Marvin,

        Yes I am using Integration Gateway.

        Could you please guide further, where to set this MAX_RECORDS in SMP?

        It would be great if you provide example to handle this in code. So if I am not wrong, you are suggesting to do custom code in Integration Gateway, using JavaScript or Groovy.

        If yes, please suggest the appropriate method, however I have put this code in :

        processRequestSQL.

        I am working with Online/Offline Store in the same app.

        Thanks for your help,

        Warm Regards

        Hemendra

        (0) 

Leave a Reply