We are just getting started with HANA, installing sandbox systems running on virtual machines on existing hosts while we wait for IT to setup the infrastructure for running our entire SAP landscape on HANA. When it comes to HANA there are several sizing methods: T-Shirt sizing, greenfield sizing (based on database size and/or SAPS), Quick Sizer and brownfield sizing (report SDF/HDB_SIZING) to name some. While SAP provides good instructions on how to size HANA systems for Business Suite, S/4 HANA and BW, there is little information on how to size “empty” systems meaning what the minimum requirements are for running a out-of-the-box NetWeaver 7.5 AS ABAP system, for example. This blog addresses that.
Why the database size based sizing doesn’t work
The out-of-the-box size for a new NetWeaver 7.5 AS ABAP system database is in the region of 20-30 GB. While this should give some indication on how much memory HANA will require, it is not that simple. Regardless whether you run a 1 TB or a 50 GB system based on NetWeaver 7.5 AS ABAP, the requirements for the base system are the same.
32 GB should be sufficient since it is for HANA Express, right?
Well, yes and no. You can install a HANA 1.0 or 2.0 system with just 32 GB of RAM but what you get following the installation is basically an empty HANA database with some system tables. Once you start installing applications (application specific data) in the HANA database, the memory requirements will increase.
Okay, so how much memory (RAM) is required?
Our tests indicate that you’ll need at least 64 GB to successfully install a NetWeaver 7.5 AS ABAP system on HANA 1.0 SPS 12 rev 122 running on top of RHEL 7.2 on Intel-based hardware. With 32 GB you’ll be able to start the installation of NetWeaver 7.5 AS ABAP but you won’t be able to get past the database import, the point where the system runs the import jobs in parallel. Without changing the HANA configuration, you’ll start seeing OOMs (Out-Of-Memory) and HANA will halt. You can get past the OOMs by setting allocation limits (global_allocation_limit, statement_memory_limit) but even then, after the system has been installed, it won’t be operational meaning you’ll start seeing SQL error 2048, “column store error: not enough memory” errors. Traces will reveal many Delta Merge errors and if you run the HANA mini checks, you’ll discover that your HANA system is experiencing a huge number of column store unloads (check # 430). With 64 GB you’ll be able to take the installation all the way through without changing any of the default parameters. During the installation of NetWeaver 7.5 AS ABAP, you’ll see the Used Memory peak at 46 GB which is well in the limits of 64 GB.
While this blog isn’t too technical or doesn’t provide too much information, I wish we had known this real life requirement when we started with our HANA initiative. Not too much time was lost (couple of days), by publishing this blog I hope others will know better.
Feel free to share your experiences in the comments, there are many possible AS ABAP (and even AS JAVA) configurations on different HANA versions, on different operating systems and hardware. The more examples there are out there, the more information there will be for customers starting with HANA.