Azure Premium Storage is available for SAP workloads

Version 2.0 – Correction on statements how existing VHDs get mapped into P10, P20 and P30

Today Microsoft announced the availability of Azure Premium Storage for Azure subscriptions. Azure Premium Storage is offered side-by-side with Azure Standard Storage. Goal of Azure Premium Storage is to provide low latency storage with higher throughput per VHD compared to Azure Standard Storage. Since Azure Premium Storage is supported by SAP already, we will discuss whether and how Azure Premium Storage can or should be used with SAP applications.

How did we realize Azure Premium Storage?

Let’s summarize some content on Azure Premium Storage which got released here: http://azure.microsoft.com/blog/2014/12/11/introducing-premium-storage-high-performance-storage-for-azure-virtual-machine-workloads/

and here:

http://azure.microsoft.com/blog/2015/04/16/azure-premium-storage-now-generally-available-2/ 

In short Azure Premium Storage uses SSDs in the backend Azure storage nodes instead of rotating spindles as Azure Standard Storage does. This alone provides a significant performance advantage. Additionally, Azure Premium Storage introduces a new Read Cache which accelerates Read Access tremendously. The Read Cache can become very large going into a few hundred GBs and is supported by the local SSD disks of the compute node. Besides these two larger items a lot of optimizations were introduced to optimize for low latency I/Os.

The usage of Azure Premium Storage so far is limited to a specific Azure VM SKU. This is the DS-series of VMs. The DS-Series purely under workload applied to a SAP 2-Tier configuration shows the exact same throughput characteristics as the Azure D-Series VM does. This is not a surprise because the host hardware types between DS and D-Series are the same. However you can mount Azure Premium Storage located VHDs only from VMs of the DS-Series. Additionally DS-Series VMs can also mount VHDs which are located on Azure Standard Storage.

Azure Premium Storage offers three different VHD sizes with different throughput characteristics. The three offers look like:

Disk Types

P10

P20

P30

Disk Size

128 GB

512 GB

1024 GB

IOPS per Disk

500

2300

5000

Throughput per Disk

100 MB/sec

150 MB/sec

200 MB/sec

In order to allow enough Premium Storage VHDs to be mounted out of a single Azure Premium Storage account against one VM, some limits of Azure Storage accounts got extended for Premium Storage. Please see this article: https://msdn.microsoft.com/library/azure/dn249410.aspx for the exact limits of Azure Standard and Premium Storage accounts. As you see the most significant differences are the lower capacity per Storage account for Premium Storage on the one side and the higher inbound and outbound throughput. The lower limit of capacity might require you to spread VHDs which should leverage Premium Storage over more different Azure Storage Accounts than this was necessary with Azure Standard Storage.

In case of copying existing VHDs out of an Azure Standard Storage Account into an Azure Premium Storage Account, the VHDs are not necessarily in the sizes of 128, 512 or 1024MB. In such cases, a snap to the next largest Premium Storage Disk option is performed. Means a VHD of 150GB would be mapped into a P20 Premium Storage option. Same with a 400GB VHD. Whereas a VHD with 110GB would be mapped into a P10 Premium Storage disk. VHDs >512GB and <=1TB are mapped into P30 Premium Storage disks.

VHD throughput versus VM throughput

As the table above shows, there are very high throughput volumes provided with a single Premium Storage VM. You also have the ability to mount up to 32 VHDs to a single VM (like DS14). However that does not mean that you could achieve a throughput of 32 x 200MB/sec per VM when mounting 32 x P30 VHDs against a DS14 VMs. Instead each VM types has an upper limit of storage throughput and IOPS. The number of VHDs that can be mounted and the storage throughput per VM are documented here: https://msdn.microsoft.com/en-us/library/azure/dn197896.aspx

E.g. currently the maximum volume throughput for storage traffic by a DS14 VM is 512GB. A threshold that can be achieved using 3 x P30 VHDs already. On the other side, it would take 13 x P30 VHDs to touch the current IOPS limit of 64K IOPS of a DS14 VM.

Pricing of Azure Premium Storage

Pricing of Azure Premium storage can be found here: http://azure.microsoft.com/en-us/pricing/details/storage/ .

Be aware that you need to select an Azure Datacenter that has Azure Premium Storage deployed. These are named on the pricing page above.

Motivation to use Azure Premium Storage for SAP?

Azure Standard Storage which is used so far by many SAP customers deploying SAP NetWeaver based on Azure proved sufficient for most of the deployments so far. Providing an IOPS quota of 500 IOPS per VHD could be extended by attaching multiple VHDs to a VM and provide a multiple of 500 IOPS for a VM. Nevertheless we saw cases and customer scenarios where, despite not touching the limits of 500 IOPS per VHD, the I/O latency provided by Azure Standard Storage introduced some performance inconveniences to SAP business processes. Azure Premium Storage is addressing exactly that angle with providing lower latencies.

Another area where we see Azure Premium Storage helping are SAP 3-Tier configurations with dedicated VMs running the DBMS layer of the SAP system. With Azure Standard Storage we experienced situations where, under heavy workload, the DBMS VM could not be maximized in its CPU consumption. Reason for this inability was the fact that the latency writing into the DBMS transaction log was too high. If the I/O latency for transaction log writes is too high, the whole SAP system usually balances in a state where on the one side, the CPU of the DBMS VM (or server in bare metal cases) can’t be driven higher and where adding more workload against the SAP application layer simply results in a higher user response time for the individual business process, but not more throughput. A situation we encountered in many customer configurations over the last 20 years with all kinds of infrastructure. The solution of this issue usually is to lower the latency of I/Os writing into the DBMS transaction log. Specifically in Azure, the solution to this situation is to leverage Azure Premium Storage instead of Azure Standard Storage to host DBMS transaction logs.

Azure Premium Storage supported by SAP?

Since the usage of Premium Storage requires the usage of a new VM SKU, the question is whether SAP supports this new VM SKU already. Short answer is: YES. The DS-Series of VMs is partially supported by SAP. Partially because we selected DS VM types that fulfill our criteria of providing at least 2 vCPUs and a memory to vCPU ratio of at least 6:1 for SAP workload. In this case the VM types of DS11 – DS14 fulfill the criteria and are supported by SAP as documented in SAP Note: 1928533 – SAP Applications on Azure: Supported Products and Azure VM types. Throughput wise those DS VM types deliver the same throughput as the D11 – D14 VM types.

What did we see so far in our SAP tests

SAP ERP workload was one of the workloads we tested rigorously on Azure Premium Storage during developing Azure Premium Storage. To be more precise we tested heavily with SAP ERP in 3-Tier configurations which with Azure Standard Storage exposed a behavior as described above where the CPU on the DBMS VM could not be leveraged to the full extent. Using Azure Premium Storage we could observe that the I/O latency of write operations into the DBMS transaction logs are factors lower or faster than this was the case with Azure Standard Storage. We are able to fully leverage the CPU resources of an e.g. DS14 VM that was used to host the DBMS. In our testing we came to the conclusion that you should:

  • Use Premium Storage based VHDs with Read Cache enabled for data files of the DBMS
  • Use Premium Storage based VHDs without Read Cache for transaction log files of the DBMS

Means it is best to split the VHDs that contain data files of the DBMS and transaction log files into VHDs which are cached differently.

Related to the usage of Azure Premium Storage we will release new sizing guidance for 3-Tier SAP systems in SAP Note: 1928533 – SAP Applications on Azure: Supported Products and Azure VM types over the next few weeks and months.

We will release more details on how to deploy Azure Premium Storage for SAP workload over the next few weeks.