Update: We added performance expectations for D-series VMs to give you a better idea of how well these VMs will perform. Check it out here!
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 VM sizes*. Even better, these sizes have up to 800 GB of local 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 local disk I/O. 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.”
*Relative to the A1-A7 VM sizes. A8-A11 sizes are faster than D-series.
The new sizes are defined as follows:
General Purpose
Name | vCores | Memory (GB) | Local SSD (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 SSD (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 2014’s Buffer Pool Extensions. Note, these drives are not guaranteed to be 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 durable disks that are persisted in Azure Storage.
SQL 2014 Buffer Pool Extensions
Buffer Pool Extensions (BPE), introduced in SQL Server 2014, allows extending the SQL Engine Buffer Pool using local SSDs to significantly improve the read latency of database workloads. The Buffer Pool is a global memory resource used to cache data pages for more efficient reads. Database read scenarios where the working set doesn’t fit in the memory will benefit significantly from configuring BPE.
With the local 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:SSDCACHEEXAMPLE.BPE'
No code changes are required in your application, and all write operations will continue to durably persist in VM drives persisted in Azure Storage. More details on configuring and using BPE can be found here.
In addition to BPE, a common practice for SQL Server is to improve performance by configuring TempDB on SSDs. Now, you’ll be able to achieve this great performance in the Azure cloud as well 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 a 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.ImageName | Add-AzureProvisioningConfig -Linux -LinuxUser $admin -Password $pwd | New-AzureVM -ServiceName $service -WaitForBoot
This script will select the latest Linux CentOS VM image 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
- Japan East
- Southeast Asia
- East Asia
Australia
- Australia East
- Australia Southeast
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.
Here’s a video for more information and demos of the D-Series VMs.