Arm高性能平台Ceph存储基准测试报告

关于arm

之前wdlab对外发布过一次约500个节点的arm的ceph集群,那个采用的是微集群的结构,使用的是双核的cortex-a9 ARM处理器,运行速度为1.3 GHz,内存为1 GB,直接焊接到驱动器的PCB上,选项包括2 GB内存和ECC保护

这个在国内也有类似的实现,深圳瑞驰商用Arm存储NxCells

高性能arm运行ceph存储基准测试_Ceph

这个采用的是微集群的架构,能够比较好的应对一些冷存场景,但是今天要说的不是这种架构,而是一个比较新的平台,采用的是高性能的arm的架构,也就是类似X86的大主板结构

很多人了解的arm的特点是小,功耗低,主频低,这个是以前的arm想发力的场景,类似于intel做的一款atom,在很早期的时候,我在的公司也尝试过基于atom主板做过1U的ceph存储,但是后来各种原因没有继续下去

实际上arm也在发力高性能的场景,但是这个比较新,并不是每个人都能接触的到,在这里,我把我们的硬件设备的测试数据发一部分出来,也许能改变你对arm的印象,在未来硬件选型的时候,也许就多了一层选择

高性能arm设备说明

登录后复制

System Information
  PROCESSOR:          Ampere eMAG ARMv8 @ 3.00GHz
    Core Count:       32                        
    Scaling Driver:   cppc_cpufreq conservative 

  GRAPHICS:           ASPEED
    Screen:           1024x768         

  MOTHERBOARD:        MiTAC RAPTOR
    BIOS Version:     0.11                                               
    Chipset:          Ampere Computing LLC Skylark                       
    Network:          2 x Intel 82599ES 10-Gigabit SFI/SFP+ + Intel I210 

  MEMORY:             2 x 32 GB DDR4-2667MT/s Samsung M393A4K40BB2-CTD

  DISK:               FORESEE 256GB SS + 6001GB Seagate ST6000NM0115-1YZ
    File-System:      xfs                               
    Mount Options:    attr2 inode64 noquota relatime rw 
    Disk Scheduler:   DEADLINE                          

  OPERATING SYSTEM:   CentOS Linux 7
    Kernel:           4.14.0-115.el7a.0.1.aarch64 (aarch64) 20181125          
    Compiler:         GCC 4.8.5 20150623                                      
    Security:         meltdown: Mitigation of PTI                             
                      + spec_store_bypass: Not affected                       
                      + spectre_v1: Mitigation of __user pointer sanitization 
                      + spectre_v2: Vulnerable             



机器采用的是ampere的最新的平台RAPTOR平台进行的测试,这里只是做了最小环境的测试,因为测试设备被占用了,就利用有限的资源进行测试即可,机器上面的插口都没有什么限制,支持pcie插槽,能够自己扩展到多盘位机器,也支持万兆网卡,本次测试采用的就是36盘位的机器,对于36盘位的机器来说,底层的磁盘的总资源肯定是大于网络带宽的,这样也有个好处就是磁盘在前端业务满载的时候,不会那么忙

测试环境

测试环境说明

环境为单机36盘位的ceph12版本,配置的12.2.10版本的ceph,使用的是bluestore,设置的副本1,然后用一台X86机器作为客户端,客户端和服务器之间通过万兆相连,对比测试的机器同样为36盘位的机器,为了保证环境的一致性,测试过程中集群没有重搭,直接把盘换了一个平台进行了启动后进行测试

磁盘有36块6T的sata盘

本次测试测试了两组数据

  • 机器的主机带宽(vdbench测试arm的)
  • 机器带上ceph以后的输出带宽

本次测试只在现有的环境下对比,测试模型很多,同样的X86选型都可以选出各种各样的,这里我只拿我现有的机器进行的测试,X86和arm的都为32 processor的服务器,内存一致

主机带宽

主机vdbench测试

测试项目测试时长IOPSresponse带宽
4K随机写600s13123.15.40051.26M/s
4K随机读600s3463.020.78213.53M/s
1M顺序写600s3661.619.3603661.63M/s
1M顺序读600s3857.818.6573857.82M/s

这个是vdbench 对主机带宽进行的测试,为什么需要这个测试,很久以前看过一篇博客,是讲fio测试的,博主提出了一个概念,你如果只是测试一个磁盘的数据,然后相加,这个数据可能跟实际偏离很多,还有个情况就是cpu的处理io的并发能力同样会影响最终输出,也就是你的写入越接近最终的并发写入,越能反应最终的可能的最大输出带宽,所以这个地方通过fio或者vdbench都能测出主机带宽,在知道可能存在这个问题以后,每次都会测一测,到目前为止已经发现了两次问题

第一次是前面的硬盘的面板带宽的,之前有次测试的数据24个盘不管怎么样都是1.9G,在到了19个盘之后的数据就不再上升,磁盘utils一直都是100%,后来查出来是面板驱动问题,找硬件厂商刷了下驱动后,带宽就恢复正常

一次是本次测试同样36盘一直跑出来发现只有2G/s,排查以后发现是内部的lsi的卡到面板只用了一根线,虽然看到的是36个盘,但是受限于线的带宽,只有2G/s,把线换成2根以后,性能就到了上面的3.6G/s了,这个如果不跑下整机带宽,也许没发现,或者后续会怀疑是不是本身软件处理慢了

本次测试主要是sata的盘的,也就是跑的带宽模式,大IO的场景,需要小io的场景的需要ssd的环境了,不在本篇讨论范围内

集群的测试数据

arm和X86测试数据对比

登录后复制


rados -p rbd -t 32 -b 64K bench  300 write --no-cleanup --run-name 64kt32
rados -p rbd -t 8 -b 4096K bench  300 write --no-cleanup --run-name 4Mt8


命令的例子,根据不同的用例进行调整参数

64K块大小性能

读/写块大小/并发数Bandwidth(MB/s)Average IOPSAverage Latency(ms)
arm写64K/3239.89146380.0501339
X86写64K/3239.31846290.0508632
arm写64K/6467.28310760.0594479
X86写64K/6466.047110560.0605586
arm写64K/128110.1417620.0726323
X86写64K/128108.52517360.0737129
arm写64K/256177.10328330.0903411
X86写64K/256190.26330440.0840909
arm写64K/512260.71541710.122732
X86写64K/512261.35841810.122422
arm读64K/321060.96169750.00186769
X86读64K/32958.661153380.00206133
arm读64K/641026.75164280.00387973
X86读64K/64946.426151420.00419585
arm读64K/1281082.39173180.007375
X86读64K/128931.589149050.00855418
arm读64K/2561116.87178690.0143076
X86读64K/2561001.93160300.0159373
arm读64K/5121116.81178680.0286263
X86读64K/5121008.51161360.0316968

4M块大小性能

读/写块大小/并发数Bandwidth(MB/s)Average IOPSAverage Latency(ms)
arm写4M/8377.74940.0847078
X86写4M/8377.604940.0847369
arm写4M/16676.1681690.094649
X86写4M/16670.0211670.0955143
arm写4M/32900.3912250.142123
X86写4M/32902.5732250.1418
arm写4M/64901.9062250.283723
X86写4M/64902.9532250.28335
arm写4M/128903.4762250.566172
X86写4M/128904.9422260.56528
arm读4M/8906.4952260.0347298
X86读4M/8784.4991960.0395726
arm读4M/16968.3252420.0655441
X86读4M/161091.422720.0570873
arm读4M/321074.492680.118411
X86读4M/321108.762770.113665
arm读4M/641053.772630.242012
X86读4M/641116.842790.227442
arm读4M/1281121.862800.4553
X86读4M/1281102.442750.462227

从上面的两大组数据可以看到,在这个测试模型下面,这个arm的机器的性能并不差,两款硬件在同样的测试压力,和同等磁盘的情况下,基本维持了跟X86一致的水平

这个如果硬要说哪款好,我觉得那也不是一下两下说的清楚的,只能说给出一个测试模型,然后两个同样的压力同样环境去做比较,这样就太多场景了,并且也还会考虑成本的问题,兼容性的问题,如果在各方面都差不多的情况下,这个不失为一种选择

硬盘还分为sata,sas,ssd,高铁也有普通列车,和谐号,复兴号的差别,这个看怎么去定位硬件本身的输出能力了,这里从测试数据来看,还是一款不错的高性能arm硬件,当然需要到更多的环境下面去适应和磨合了

总结

在安培的arm高性能机器下,也能跑出跟X86下的差不多的性能了,虽然还不能说绝对能去完全替换X86,但是目前看性能还是很不错的,值得一试,如果价格合适,又满足需求,还是可行的

变更记录

WhyWhoWhen
创建武汉-运维-磨渣2018-09-09







免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空