Sizing SAP HANA Virtual Machines – Part 2
This is part 2 of a blog post describing the sizing of virtual machines running SAP HANA on Red Hat Virtualization. Part 1 covered virtual sizing concepts and is available here: https://blogs.sap.com/2022/05/26/sizing-sap-hana-virtual-machines-part-1 .
Virtual Sizing Guidelines & Assumptions
Consider the following when sizing a SAP HANA virtual machine with respect to virtual CPU and virtual memory:
- Follow guidelines in SAP knowledge base article 2852117 – SAP HANA on Red Hat Virtualization 4.2 .
- The minimum size of a SAP HANA virtual machine on Red Hat KVM is 8 physical cores and 128GB
- A SAP HANA virtual machine may span over 1,2 or 4 sockets
- The socket or sockets used by a virtual machine are dedicated to that virtual machine i.e. socket sharing between multiple SAP HANA virtual machines is not allowed.
- Follow the sizing implications in the following table to convert CPU requirements from bare metal to virtual.
Source: Deploying SAP HANA on Red Hat Virtualization guide
- Add an additional 5% overhead when sizing for multiple virtual machines on the same host versus one single virtual machine (source: Deploying SAP HANA on Red Hat Virtualization ).
- Assume linear performance of SAPS throughput with cores (bare metal and virtual).
- CPU sizing for SAP HANA can be calculated the following ways:
- Using core-to-memory ratios which can be derived from the certified HANA listings. The memory requirement drives the number of cores required.
- Since Tailored Data Center Integration (TDI) Phase 5 we can use a SAPS-based sizing approach for HANA workloads. SAP HANA Quicksizer and SAP HANA sizing reports have been enhanced to provide separate CPU (i. e. SAPS) and RAM sizing results.
- Source: SAP HANA Tailored Data Center Integration – Overview .
We will show an example of a SAP HANA virtual machine sizing based on requirements generated by the HANA Quick Sizer Tool. Quick Sizer calculates the required memory, CPU, disk, and I/O resources based on business data ( e.g. throughput and number of concurrent active users ) entered by the customer (this SAP video provides an overview of HANA Quick Sizer ). The example here will focus on CPU and memory requirements of the SAP HANA database server (a complete design would also include storage, network and application server requirements).
The following table shows the technical requirements and target X86 server for this example.
Determine vCPUs of the Target SAP HANA Virtual Machine
The following table shows the calculation of the target vCPUs we need to satisfy the 65000 SAPS requirement. The guidelines and assumptions defined above are used.
Based on the third column the core ratio between the two virtual configurations of virtual machine HT off and HT on is 28.3/23.2 = 1.22.
Determine Virtual Memory of the Target SAP HANA Virtual Machine
The following table explains the calculation of virtual memory / RAM required for the target SAP HANA virtual machine.
Final Virtual Machine Configuration
Summarizing the sizing analysis above:
- The target server has 4 sockets; 28 cores per socket; 384 GB per socket. The socket size will impact the final VM configuration.
- The minimum CPU configuration for the target virtual machine to satisfy the business SAPS requirement is either; 30 vCPUs scheduled on 30 cores or 50 vCPUs scheduled on 25 cores.
- The virtual machine memory setting is 700 GB i.e. 2 sockets . This has been rounded up to allow the production SAP HANA virtual machine to exclusively use two sockets.
As the virtual machine is spanning two sockets the virtual CPU count can be increased to use all the cores of two sockets ie. 28 x 2 = 56. The final virtual machine configuration is shown below.
The SAP HANA virtual machine spans 2 sockets:
- 2 x virtual sockets are presented in the guest OS running in the virtual machine.
- Virtual CPUs within a virtual socket are always scheduled on the same physical CPU/socket in order to achieve performance benefits from NUMA optimization. This is achieved by virtual CPU pinning – for further details see Deploying SAP HANA on Red Hat Virtualization .
SAP has defined a sizing process that involves a collaboration between the customer, hardware vendor and SAP. The process translates business requirements into hardware requirements such as memory, CPU, disk space, I/O capacity, and network bandwidth. The method equally applies to virtual environments running Red Hat Virtualization. The hardware vendor is responsible for specifying the details of the target X86 server and estimating the number of servers required. Once this is known it is possible to estimate the configuration of a virtual machine running SAP HANA.
An example sizing of a SAP HANA virtual machine was shown:
- The socket/CPU specification of the target X86 server influences the final virtual machine configuration with respect to virtual CPUs and virtual memory.
- Sizing implications defined in Deploying SAP HANA on Red Hat Virtualization enables the calculation of CPU processing power requirements in the virtual environment.