对于具有 513 GiB 及更高容量的 Azure 高级固态硬盘 (SSD)、标准 SSD 和标准硬盘驱动器 (HDD),可以通过启用性能增强来提高每秒输入/输出操作数 (IOPS) 和吞吐量限制。 启用性能增强功能可改善对需要高IOPS和吞吐量的工作负载(如数据库和事务性工作负载)的体验。 在磁盘上启用性能增强无需额外付费。
启用后,符合条件的磁盘的 IOPS 和吞吐量限制将提高到更高的上限。 若要查看符合条件的磁盘的新 IOPS 和吞吐量限制,请参阅 VM 磁盘的可伸缩性和性能目标一文中以“*已扩展”开头的列。
局限性
- 只能在 513 GiB 或更高版本的标准 HDD、标准 SSD 和高级 SSD 托管磁盘上启用
 - 只能在创建磁盘期间启用 
- 若要解决此问题,请创建磁盘的快照,然后从快照创建新磁盘
 - 无法在创建虚拟机期间创建的磁盘上启用。
 
 - 不支持使用 Azure Site Recovery 恢复的磁盘
 
先决条件
安装 Azure PowerShell 模块 9.5 或更高版本,或 2.44.0 或更高版本的 Azure CLI 版本。
启用性能加成
需要创建新磁盘才能使用性能增强。 以下脚本演示了如何创建启用性能增强功能的磁盘,并在需要时将其附加到虚拟机。 这些命令已组织成独立步骤,以确保可靠性。
创建资源组
此步骤创建具有唯一名称的资源组。
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export MY_RG="PerfPlusRG$RANDOM_SUFFIX"
export REGION="ChinaNorth2"
az group create -g $MY_RG -l $REGION
结果:
{
  "id": "/subscriptions/xxxxx/resourceGroups/PerfPlusRGxxx",
  "location": "ChinaNorth2",
  "name": "PerfPlusRGxxx",
  "properties": {
    "provisioningState": "Succeeded"
  }
}
创建启用了性能增强的新磁盘
此步骤创建一个 513 GiB(或更大)的新磁盘,启用性能增强功能,并使用有效的 SKU 值。
export MY_DISK="PerfPlusDisk$RANDOM_SUFFIX"
export SKU="Premium_LRS"
export DISK_SIZE=513
az disk create -g $MY_RG -n $MY_DISK --size-gb $DISK_SIZE --sku $SKU -l $REGION --performance-plus true
结果:
{
  "id": "/subscriptions/xxxxx/resourceGroups/PerfPlusRGxxx/providers/Microsoft.Compute/disks/PerfPlusDiskxxx",
  "location": "ChinaNorth2",
  "name": "PerfPlusDiskxxx",
  "properties": {
    "provisioningState": "Succeeded",
    "diskSizeGb": 513,
    "sku": "Premium_LRS",
    "performancePlus": true
  },
  "type": "Microsoft.Compute/disks"
}
尝试将磁盘附加到 VM
此可选步骤尝试将磁盘附加到现有 VM。 它首先检查 VM 是否存在,然后相应地继续。
export MY_VM="NonExistentVM"
if az vm show -g $MY_RG -n $MY_VM --query "name" --output tsv >/dev/null 2>&1; then
    az vm disk attach --vm-name $MY_VM --name $MY_DISK --resource-group $MY_RG 
else
    echo "VM $MY_VM not found. Skipping disk attachment."
fi
结果:
VM NonExistentVM not found. Skipping disk attachment.
从现有磁盘或快照创建启用性能增强的新磁盘
这一系列步骤创建单独的资源组,然后从现有磁盘或快照创建新磁盘。 将SOURCE_URI替换为与磁盘属于同一区域(ChinaNorth2)的有效源 blob URI。
创建用于迁移的资源组
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export MY_MIG_RG="PerfPlusMigrRG$RANDOM_SUFFIX"
export REGION="ChinaNorth2"
az group create -g $MY_MIG_RG -l $REGION
结果:
{
  "id": "/subscriptions/xxxxx/resourceGroups/PerfPlusMigrRGxxx",
  "location": "ChinaNorth2",
  "name": "PerfPlusMigrRGxxx",
  "properties": {
    "provisioningState": "Succeeded"
  }
}
从现有快照或磁盘创建磁盘
# Create a snapshot from the original disk
export MY_SNAPSHOT_NAME="PerfPlusSnapshot$RANDOM_SUFFIX"
echo "Creating snapshot from original disk..."
az snapshot create \
  --name $MY_SNAPSHOT_NAME \
  --resource-group $MY_RG \
  --source $MY_DISK
# Get the snapshot ID for use as source
SNAPSHOT_ID=$(az snapshot show \
  --name $MY_SNAPSHOT_NAME \
  --resource-group $MY_RG \
  --query id \
  --output tsv)
echo "Using snapshot ID: $SNAPSHOT_ID"
# Create the new disk using the snapshot as source
export MY_MIG_DISK="PerfPlusMigrDisk$RANDOM_SUFFIX"
export SKU="Premium_LRS"
export DISK_SIZE=513
az disk create \
  --name $MY_MIG_DISK \
  --resource-group $MY_MIG_RG \
  --size-gb $DISK_SIZE \
  --performance-plus true \
  --sku $SKU \
  --source $SNAPSHOT_ID \
  --location $REGION
结果:
{
  "id": "/subscriptions/xxxxx/resourceGroups/PerfPlusMigrRGxxx/providers/Microsoft.Compute/disks/PerfPlusMigrDiskxxx",
  "location": "ChinaNorth2",
  "name": "PerfPlusMigrDiskxxx",
  "properties": {
    "provisioningState": "Succeeded",
    "diskSizeGb": 513,
    "sku": "Premium_LRS",
    "performancePlus": true,
    "source": "https://examplestorageaccount.blob.core.chinacloudapi.cn/snapshots/sample-chinanorth2.vhd"
  },
  "type": "Microsoft.Compute/disks"
}