通过启用性能增强,可以提高容量为 513 GiB 及以上的 Premium SSD、Standard SSD 和 Standard HDD 托管磁盘的每秒输入/输出操作数(IOPS)和吞吐量限制。 启用性能增强功能可改善对需要高IOPS和吞吐量的工作负载(如数据库和事务性工作负载)的体验。 在磁盘上启用性能增强无需额外付费。
启用后,符合条件的磁盘的 IOPS 和吞吐量限制将提高到更高的上限。 若要查看符合条件的磁盘的新 IOPS 和吞吐量限制,请参阅 VM 磁盘的可伸缩性和性能目标一文中以“*已扩展”开头的列。
局限性
- 只能在 513 GiB 或更高版本的标准 HDD、标准 SSD 和高级 SSD 托管磁盘上启用
- 只能在创建磁盘期间启用
- 若要解决此问题,请创建磁盘的快照,然后从快照创建新磁盘
- 无法在创建虚拟机期间创建的磁盘上启用。
- 不支持使用 Azure Site Recovery 恢复的磁盘
先决条件
安装 Azure PowerShell 模块 9.5 或更高版本,或 2.44.0 或更高版本的 Azure CLI 版本。
启用性能加成
需要创建新磁盘才能使用性能增强。 以下脚本演示了如何创建启用性能增强功能的磁盘,并在需要时将其附加到虚拟机。 这些命令已组织成独立步骤,以确保可靠性。
- Azure CLI
- Azure PowerShell
创建资源组
此步骤创建具有唯一名称的资源组。
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export MY_RG="PerfPlusRG$RANDOM_SUFFIX"
export REGION="ChinaNorth2"
az group create -g $MY_RG -l $REGION
成功的响应显示资源组的 provisioningState 设置为 Succeeded:
{
"id": "/subscriptions/xxxxx/resourceGroups/PerfPlusRGxxx",
"location": "ChinaNorth2",
"name": "PerfPlusRGxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
创建启用了性能增强的新磁盘
az disk create 命令在前面定义的资源组和区域中创建一个磁盘。 指定符合条件的磁盘 SKU,大小为 513 GiB 或更大,并设置为 --performance-plustrue。
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
成功的响应显示 performancePlus 设置为 true 并 provisioningState 设置为 Succeeded:
{
"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 不存在,输出将确认已跳过磁盘附件:
VM NonExistentVM not found. Skipping disk attachment.
基于已启用 Performance Plus 的现有磁盘创建新磁盘
这一系列步骤会先从现有磁盘创建快照,然后使用 az disk create 从该快照创建一个新磁盘。 源磁盘、快照和新磁盘必须位于同一区域。 指定符合条件的磁盘 SKU,大小为 513 GiB 或更大,并设置为 --performance-plustrue。
创建用于迁移的资源组
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
成功的响应显示迁移资源组的 provisioningState 设置为 Succeeded:
{
"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
成功的响应会显示,对于新磁盘,performancePlus 设置为 true,且 Succeeded 设置为 provisioningState:
{
"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": "/subscriptions/xxxxx/resourceGroups/PerfPlusRGxxx/providers/Microsoft.Compute/snapshots/PerfPlusSnapshotxxx"
},
"type": "Microsoft.Compute/disks"
}