|
| 1 | +--- |
| 2 | +title: Increase performance of Premium SSDs and Standard SSD/HDDs |
| 3 | +description: Increase the performance of Azure Premium SSDs and Standard SSD/HDDs using performance plus. |
| 4 | +author: roygara |
| 5 | +ms.service: storage |
| 6 | +ms.topic: how-to |
| 7 | +ms.date: 03/14/2023 |
| 8 | +ms.author: rogarana |
| 9 | +ms.subservice: disks |
| 10 | +--- |
| 11 | + |
| 12 | +# Increase IOPS and throughput limits for Azure Premium SSDs and Standard SSD/HDDs |
| 13 | + |
| 14 | +The Input/Output Operations Per Second (IOPS) and throughput limits for Azure Premium solid-state drives (SSD), Standard SSDs, and Standard hard disk drives (HDD) that are 1024 GB and larger can be increased by enabling performance plus. Enabling performance plus improves the experience for workloads that require high IOPS and throughput, such as database and transactional workloads. There's no extra charge for enabling performance plus on a disk. |
| 15 | + |
| 16 | +Once enabled, the IOPS and throughput limits for an eligible disk increase to the higher maximum limits. To see the new IOPS and throughput limits for eligible disks, consult the columns that begin with "*Expanded" in the [Scalability and performance targets for VM disks](disks-scalability-targets.md) article. |
| 17 | + |
| 18 | +## Limitations |
| 19 | + |
| 20 | +- Can only be enabled on Standard HDD, Standard SSD, and Premium SSD managed disks that are 1024 GiB or larger. |
| 21 | +- Can only be enabled on new disks. |
| 22 | + - To work around this, create a snapshot of your disk, then create a new disk from the snapshot. |
| 23 | +- Not supported for disks recovered with Azure Site Recovery or Azure Backup. |
| 24 | +- Can't be enabled in the Azure portal. |
| 25 | + |
| 26 | +## Prerequisites |
| 27 | + |
| 28 | +Either use the Azure Cloud Shell to run your commands or install a version of the [Azure PowerShell module](/powershell/azure/install-az-ps) 9.5 or newer, or a version of the [Azure CLI](/cli/azure/install-azure-cli) that is 2.44.0 or newer. |
| 29 | + |
| 30 | + |
| 31 | +## Enable performance plus |
| 32 | + |
| 33 | +You need to create a new disk to use performance plus. The following script creates a disk that has performance plus enabled and attach it to a VM: |
| 34 | + |
| 35 | +# [Azure CLI](#tab/azure-cli) |
| 36 | + |
| 37 | +```azurecli |
| 38 | +myRG=yourResourceGroupName |
| 39 | +myDisk=yourDiskName |
| 40 | +myVM=yourVMName |
| 41 | +region=desiredRegion |
| 42 | +# Valid values are Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, or Standard_LRS |
| 43 | +sku=desiredSKU |
| 44 | +
|
| 45 | +az disk create -g $myRG -n $myDisk --size-gb 1024 --sku $sku -l $region –performance-plus true |
| 46 | +
|
| 47 | +az vm disk attach --vm-name $myVM --name $myDisk --resource-group $myRG |
| 48 | +``` |
| 49 | + |
| 50 | +To migrate data from an existing disk or snapshot to a new disk with performance plus enabled, use the following script: |
| 51 | + |
| 52 | +```azurecli |
| 53 | +myRG=yourResourceGroupName |
| 54 | +myDisk=yourDiskName |
| 55 | +myVM=yourVMName |
| 56 | +region=desiredRegion |
| 57 | +# Valid values are Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, or Standard_LRS |
| 58 | +sku=desiredSKU |
| 59 | +#Size must be 1024 or larger |
| 60 | +size=1024 |
| 61 | +sourceURI=yourDiskOrSnapshotURI |
| 62 | +
|
| 63 | +az disk create --name $myDisk --resource-group $myRG --size-gb $size -- --performance-plus true --sku $sku --source $sourceURI --location $region |
| 64 | +``` |
| 65 | + |
| 66 | +# [Azure PowerShell](#tab/azure-powershell) |
| 67 | + |
| 68 | +You need to create a new disk to use performance plus. The following script creates a disk that has performance plus enabled and attach it to a VM: |
| 69 | + |
| 70 | +```azurepowershell |
| 71 | +$myRG=yourResourceGroupName |
| 72 | +$myDisk=yourDiskName |
| 73 | +$myVM=yourVMName |
| 74 | +$region=desiredRegion |
| 75 | +# Valid values are Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, or Standard_LRS |
| 76 | +$sku=desiredSKU |
| 77 | +#Size must be 1024 or larger |
| 78 | +$size=1024 |
| 79 | +
|
| 80 | +Set-AzContext -SubscriptionName <yourSubscriptionName> |
| 81 | +
|
| 82 | +$diskConfig = New-AzDiskConfig -Location $region -CreateOption Empty -DiskSizeGB $size -SkuName $sku -PerformancePlus $true |
| 83 | +
|
| 84 | +$dataDisk = New-AzDisk -ResourceGroupName $myRG -DiskName $myDisk -Disk $diskConfig |
| 85 | +``` |
| 86 | + |
| 87 | +To migrate data from an existing disk or snapshot to a new disk with performance plus enabled, use the following script: |
| 88 | + |
| 89 | +```azurepowershell |
| 90 | +$myDisk=yourDiskOrSnapshotName |
| 91 | +$myVM=yourVMName |
| 92 | +$region=desiredRegion |
| 93 | +# Valid values are Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, or Standard_LRS |
| 94 | +$sku=desiredSKU |
| 95 | +#Size must be 1024 or larger |
| 96 | +$size=1024 |
| 97 | +$sourceURI=diskOrSnapshotURI |
| 98 | +
|
| 99 | +Set-AzContext -SubscriptionName <<yourSubscriptionName>> |
| 100 | +
|
| 101 | +$diskConfig = New-AzDiskConfig -Location $region -CreateOption Copy -DiskSizeGB $size -SkuName $sku -PerfromancePlus $true -SourceResourceID $sourceURI |
| 102 | +
|
| 103 | +$dataDisk = New-AzDisk -ResourceGroupName $myRG -DiskName $myDisk |
| 104 | +``` |
| 105 | +--- |
| 106 | + |
| 107 | +## Next steps |
| 108 | + |
| 109 | +- [Create an incremental snapshot for managed disks](disks-incremental-snapshots.md) |
| 110 | +- [Expand virtual hard disks on a Linux VM](linux/expand-disks.md) |
| 111 | +- [How to expand virtual hard disks attached to a Windows virtual machine](windows/expand-os-disk.md) |
0 commit comments