前言
国产化超融合+桌面云POC性能测试基准涉及多个方面,包括功能性、兼容性、性能效率、可靠性、可维护性、易用性和安全性等,本文主要记录POC测试环节中的性能测试部分,所有国产化厂商产品均按此基准进行性能测试,便于产品性能比对。
硬件清单
服务器为浪潮CS5280H2共三台,每台配置均如下
项目 | 型号 | 数量 |
---|---|---|
处理器 | Hygon C86 7390 32-core Processor | 2 |
内存 | 32G RDIMM DDR4 | 24 |
系统盘 | 480G SATA SSD | 1 |
数据盘 | 960G SATA SSD | 4 |
千兆网卡 | 板载 1GB | 2 |
万兆网卡 | NETSWIFT ENLW2100-T2 Intel 0x10FB | 4 |
阵列卡 | INSPUR PM8204-2GB | 1 |
电源 | 800W冗余电源 | 2 |
测试工具
已将需要使用的性能测试工具打包至ova虚拟机模板,需根据各厂商产品平台将其转换为qcow2格式或直接导入平台,系统为UOS(统信)桌面操作系统,系统内集成了以下工具:
- fio
- iperf
- streamm
- unixbench
网络性能测试
用于判定主机网卡性能,相同硬件资源,通过在两台虚拟机上发起iperf测试,记录测试结果
服务端
iperf3 –s
客户端
iperf3 -c SERVER_IP
示例
内存性能测试
用于判定内存性能,相同硬件资源,通过在虚拟机上跑stream工具,记录copy,scale,add,traid测试的best rate的结果
./stream
示例
CPU性能测试
使用Unixbench用于判定CPU性能。相同硬件资源,通过在虚拟机上跑unixbench工具,记录跑分结果
./run
示例
磁盘性能测试-1P1V
虚拟机新增一块40GB硬盘挂载为sdb,使用fio测试分布式存储性能,通过虚拟机跑磁盘读写,测试1P1V 磁盘IOPS峰值。
- 在测试用 VM 上添加 1 块磁盘
- 在 VM 上运行 FIO 进行压力测试
- 针对小IO的数据块(4K)进行测试
- 针对大IO的数据块(1M)进行测试
参数如下:
4k随机写
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_4k_w -numjobs=16
4k随机读
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_4k_r -numjobs=16
1M顺序写
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=write -bs=1024k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_1m_w -numjobs=16
1M顺序读
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=read -bs=1024k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_1m_r -numjobs=16
分别记录 IOPS、LAT、BW数据
磁盘性能测试3P3V
用于判定分布式存储性能。相同硬件资源,通过虚拟机跑磁盘读写,计算3P3V磁盘IOPS峰值
- 在3台测试 VM 上添加 1 块磁盘,挂载为sdb
- 关闭DRS并将3台VM分布至每一台服务器
- 在 VM 上运行 FIO进行压力测试
- 针对不同的数据块(4K)进行测试
- 针对大IO的数据块(1M)进行测试 将3 VM所测试结果相加取得最后结果
参数如下:
4k随机写
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_4k_w -numjobs=16
4k随机读
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_4k_r -numjobs=16
1M顺序写
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=write -bs=1024k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_1m_w -numjobs=16
1M顺序读
fio -filename=/dev/vdb -ioengine=libaio -direct=1 -rw=read -bs=1024k -size=10G -iodepth=16 -runtime=120 -group_reporting -name=test_1m_r -numjobs=16
分别记录 IOPS、LAT、BW数据