对于具有 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 是否存在,然后相应地继续。
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"
}