本文章参考魏老师之前所写的blog(Azure disk iops的测试),并受到启发,由blog中的Linux虚拟机改为Windows虚拟机来进行相应的测试作业。
该作业,其实很早就做完,并整理为word文档了。一直懒虫上脑,没有转置到blog上面;第一次写blog,才发现与自我整理为word文档,大相径庭,着实佩服魏老师、三石老师、stan老师们的辛苦整理和发布。
1. 操作所需信息
Name |
Key |
Description |
访问网址 |
当前azure新管理界面 |
|
Azure账户管理员 |
订阅的服务管理员或账户管理员 |
|
测试工具Diskspd |
微软官方出品的磁盘测试工具 |
注:该磁盘测试工具并非仅限于Azure虚拟机磁盘性能环境,皆可用于规划Exchange、SQL等磁盘要求较高的场景
在Linux中使用逻辑卷管理LVM,而Windows磁盘管理中就有,可以使用多块磁盘,组成条带卷来提高磁盘性能。
计划选择DS系列DS1_V2标准(支持SSD磁盘),可附加2块数据磁盘,最大3200IOPS;选择2块512G SSD数据磁盘(单块最大2300IOPS),分别使用单块和2块,后者组成条带卷(软RAID 0)来测试磁盘性能;
以及改用D系列D2_V2标准(仅支持HDD磁盘),可附加4块数据磁盘,最大4*500IOPS;分别选择单块、两块和四块普通数据磁盘,后者组成条带卷(软RAID 0)来获得磁盘性能。
2. 工具命令行汇总
对F盘进行60秒的4线程 8K 随机写 I/O 性能测试 |
Diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w100 -c50M f:\io.dat > c:\ssddisk_striped_64k_rw.csv |
|
对F盘进行60秒的4线程 8K 随机读 I/O 性能测试 |
Diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -c50M f:\io.dat > c:\ssddisk_striped_64k_rr.csv |
命令行参数解读
3. 操作步骤
3.1 先决条件准备
确认当前虚机规格,只有DS和F系列支持SSD磁盘;导航至具体虚机>大小,以及可更改的规格;
不同机型可支持的附加数据磁盘数量和最大IOPS是不同的,选择可留意。
SSD磁盘类型有3种大小,对应不同的IOPS;128GB>500IOPS;512GB>2300IOPS;1023GB>5000IOPS;
HDD磁盘类型,大小最大为1023GB,对应500IOPS
普通D系列因不支持SSD,仅可以使用HDD,而可支持的附加数据磁盘数量和最大IOPS也是不同的,选择可留意。
3.2 附加磁盘
该操作步骤,在魏老师的blog中已经阐述了。我这里就不重复了。
3.3 使用条带卷提高性能
在Windows server 2008R2、2012及以上,都可以执行该项作业。
将2块磁盘初始化为GPT格式后,确保磁盘为未分配状态,右键>新建条带卷new striped volume
选择2块磁盘,可见总大小
分配单元大小,建议选择64K,可以获得最佳性能;最后不要忘记勾选快速格式化(我不会告诉你,因为没有勾选快速格式化,导致4小时才格式化40%的结果嘛)
系统提示,磁盘将由现在的标准磁盘转换为动态磁盘,确认即可
转换和格式化完成后的结果
4. 测试结果汇总
4.1 SSD类型磁盘部分
以下SSD测试参考标准为,单块使用512GB大小,对应2300IOPS;两块512GB使用条带卷,对应DS1 V2机型最大支持3200IOPS
4.1.1 单块SSD磁盘随机写
4.1.2 单块SSD磁盘随机读
4.1.3 两块SSD磁盘条带卷随机写
4.1.4 两块SSD磁盘条带卷随机读
4.2 标准HDD类型磁盘部分
以下HDD测试参考标准为,单块使用1023GB大小,对应500IOPS;两块1023GB使用条带卷,即使对应DS1 V2机型最大支持3200IOPS,其最大值皆为2*500=1000IOPS;更换支持4块数据磁盘数量的机型,叠加四块1023GB使用条带卷,其最大值可提升为4*500=2000IOPS;
4.2.1 单块HDD磁盘随机写
4.2.2 单块HDD磁盘随机读
4.2.3 两块HDD磁盘条带卷随机写
4.2.4 两块HDD磁盘条带卷随机读
4.2.5 四块HDD磁盘条带卷随机写
4.2.6 四块HDD磁盘条带卷随机读
4.3 测试结论
从上述分别对应SSD、HDD磁盘,以及单块、两块、四块的性能叠加,基本接近或达到官方所标称的IOPS数值。可依不同应用程序对磁盘性能的需求,进行相应的搭配。