如何对云环境或者超融合系统进行性能测试?
最近几个月,公司开启了新的产品计划,准备来做一个国产超融合一体机(其实个人觉得现在入行已经晚了太多了,市场基本没有多少了)
POC功能测试过完,但是感觉不到什么优势,由于芯片架构采用的是arm架构,相比x86下的超融合环境缺少了很多功能。
于是最近想在性能上面看看有什么优势。
设计了下面几个性能方面的测试
- cpu
- 内存
- 网络
- 存储
- 业务场景
针对每一个每个方面,有下列的具体的一些指标
CPU测试
- 素数运算性能 sysbench
- 整数运算性能 unixbench
- 浮点运算性能 unixbench
- 单线程与多线程性能 unixbench、sysbench
内存测试
- 基准测试
- 带宽-延迟测试
测试工具:bmw、tinybench
网络测试
- TCP/UDP 带宽
- 平均延时
测试工具:iperf3 、netserver、netperf
存储测试
- 物理节点4k 随机读写 IOPS、时延
- 物理节点128K、256K、1M 顺序读写 存储带宽、时延
- 虚拟机随机读写测试
- 虚拟机顺序读写测试
测试工具: fio
业务场景测试:
虚拟机并发测试:
- 批量创建虚拟机 4c8g - 100G虚拟机 x 1/10/50 统计耗时
- 批量快照虚拟机 4c8g - 100G虚拟机 x 1/10/50 统计耗时
- 批量克隆虚拟机(完整克隆、链接克隆) 4c8g - 100G虚拟机 x 1/10/50 统计耗时
- 虚拟机批量开机 4c8g - 100G虚拟机 x 1/10/50 统计耗时
- 虚拟机批量关机 4c8g - 100G虚拟机 x 1/10/50 统计耗时
- 虚拟机批量重启 4c8g - 100G虚拟机 x 1/10/50 统计耗时
有哪些指标需要指正或者可以补充,欢迎各位大佬在评论区补充、交流。
我汇报一下我的思路,目前超融合系统其实就是将计算虚拟化、网络虚拟化、存储虚拟化融合到一起,所以主要针对这几个虚拟化
我构想的是针对这个方面进行测试:
计算虚拟化就测试CPU、内存,
网络虚拟化就测试带宽、延时,
存储虚拟化就测试大小块的读写性能。
由于公司超融合采用openstack+ceph的架构,type2类型的虚拟化技术,所以可以单独针对集群物理节点进行一次测试(type2虚拟化需要构建在物理裸机的操作系统之上),然后在创建虚拟机上再进行一次测试(实际也会跑在虚拟机上)。
吐槽
- 测试工具无法对标x86,比如mlc这样的内存测试神器(英特尔公司开发)
- 国产化厂家实测参数网络上一个都找不到
- 公司做存储的那波人竟然连一个统一的fio测试参数都没有,真不知道他们怎么做了这么多年的存储。