Today, we’re announcing support for a new series of VM sizes for Microsoft Azure Virtual Machines and Web/Worker Roles called the D-Series. These sizes offer up to 112 GB in memory with compute processors that are approximately 60 percent faster than our A-Series VMs. Even more exciting, these sizes have up to 800 GB of temporary SSD disk for blazingly fast reads and writes. The new sizes offer an optimal configuration for running workloads that require increased processing power and fast temporary I/O, including SQL Server 2014. These sizes are available for both Virtual Machines and Cloud Services.
Some of our key partners are already seeing the benefit. XtremeData shared that, “The machines that we were given are well-suited for these data-intensive type applications (Big Data and Analytics) — high bandwidth SSD and fast network. From a testing perspective, we found these VMs to provide high performance and are very scalable.”
The new sizes are defined as follows:
General Purpose
Name | vCores | Memory (GB) | Local Disk (GB) |
Standard_D1 | 1 | 3.5 | 50 |
Standard_D2 | 2 | 7 | 100 |
Standard_D3 | 4 | 14 | 200 |
Standard_D4 | 8 | 28 | 400 |
High Memory
Name | vCores | Memory (GB) | Local Disk (GB) |
Standard_D11 | 2 | 14 | 100 |
Standard_D12 | 4 | 28 | 200 |
Standard_D13 | 8 | 56 | 400 |
Standard_D14 | 16 | 112 | 800 |
For pricing information, please see Virtual Machine Pricing Details.
Local Storage SSD Drive
On these new sizes, the temporary drive (D:\ on Windows, /mnt or /mnt/resource on Linux) are local SSDs. This high-speed local disk is best used for workloads that replicate across multiple instances, like MongoDB, or can leverage this high I/O disk for a local and temporary cache, like SQL Server Buffer Pool Extensions. Note, these drives are not persistent. Thus, while physical hardware failure is rare, when it occurs, the data on this disk may be lost, unlike your OS disk and any attached disks that are persisted in Azure Storage.
Buffer Pool Extensions
Buffer Pool Extensions (BPE), inroduced in SQL Server 2014, allows extending the SQL Engine Buffer Pool using SSDs to significantly improve the latency of read workloads. The Buffer Pool is a global memory resource used to cache data pages for more efficient reads. Heavy read workloads where the working set doesn’t fit in the memory will benefit from configuring BPE.
With the SSDs available on the D-Series Virtual Machines in Azure, you can now achieve unprecedented read speeds for SQL Server.
Enabling the buffer pool extension on your SQL Server Virtual Machine in Azure is extremely easy. On any D-Series virtual machine running SQL Server, the following T-SQL query will enable the extension:
ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION ON SIZE =[ KB | MB | GB ] FILENAME = 'D:\SSDCACHE\EXAMPLE.BPE'
More details on configuring and using BPE can be found here.
In addition to BPE, a common practice for SQL Server is to improve the performance of the workload by configuring TempDB on SSDs. Now, you’ll be able to achieve this great performance in the Azure cloud by taking advantage of the local SSD provided in the Azure D-Series Virtual Machine. Like Buffer Pool Extensions, it is really easy to specify the location of TempDB, as described here.
The full list of features that store temporary objects or row versions in TempDB is available here.
Now, let’s talk about how to create these sizes.
Creating a D Series Virtual Machine
Navigate to our new portal experience and select the VM you’d like to create from the New menu. Navigate to the Pricing Tier blade to select the D series size.
After supplying the required configuration options, click Create.
You can also create a brand new Standard_D* size virtual machine through the Azure PowerShell cmdlets. Here is an example of creating an Standard_D12 Virtual Machine using the PowerShell New-AzureVM command:
$service = "myService" $name = "myVMName" $admin = "admin123" $pwd = "admin123_!" $img = Get-AzureVMImage | where {$_.PublisherName -like "*OpenLogic*" } | sort-object PublishedDate -Descending | select-object -first 1 New-AzureVMConfig -Name $name -InstanceSize "Standard_D12" -ImageName $img | Add-AzureProvisioningConfig -Linux -LinuxUser $admin -Password $pwd | New-AzureVM -ServiceName $service -WaitForBoot
This script will select the latest VM image by publisher OpenLogic and deploy a Standard_D12 Virtual Machine instance.
Creating a D series instance for Cloud Services
Similarly, to deploy these sizes for your Cloud Service, modify the vmsize attribute on the Role in your CSDEF:
This will create a “Standard_D12” role instance for this Worker Role.
Geographic Availability
Today, we will have support for the following regions:
United States
- West US
- East US
- North US
- South US
- Central US
- US East 2
Europe
- North Europe
- West Europe
Asia
- Japan West
- Southeast Asia
- East Asia
We continue to add support in more regions and will provide updates as these regions become available. To determine which regions have support for the Standard_D* sizes, this PowerShell script can help. Note: Download the latest version here.
$myregion = "West US" $location = Get-AzureLocation | where { $_.Name -eq $myregion } $location.VirtualMachineRoleSizes
This will return all of the role sizes that are available to you in different regions, including the Standard_D* sizes.