CLUSTER 2024 Paper 分布式元数据论文阅读笔记整理
问题
性能是云存储系统用户服务质量的关键要求。由于云存储系统很复杂,即使在完全相同的实验条件下,性能结果也可能不同。例如,Ceph在三种不同的工作负载(Web服务器、文件服务器、邮件服务器)上相对性能变化分别为9.07%、1.04%和3.79%。在Ceph的默认配置下,60%的性能标准偏差超过平均值的5%,范围值超过25%。
此外硬件可变性[10]和不合理的数据块布局[7]是影响本地文件系统性能波动的重要因素。在此基础上,分布式文件系统的性能也受到多种复杂因素的影响,如网络性能和客户端应用程序配置[11,12]。
目前许多基准测试都是为了衡量性能而开发的,包括Pjdfstest[8]、IOZone[9]、Sysbench[14]、Fio[15]、Mdtest[16]、IOR[17]、Iperf[10]、Netperf[11]、Filebench[12]、Vdbench[18]等。根据文件系统基准的不同测量目标,这些工具可分为微基准测试和宏基准测试,如表1所示。
但很少有研究关注性能波动。
本文方法
本文提出了一种通用的方法和两个度量来衡量分布式文件系统的性能波动。分析IO路径并找到相关因素,如存储介质、网络、配置和软件组件。
-
依次分析了应用层、网络层、软件层和物理层的性能影响因素,以提高分布式文件系统性能测试的准确性。
-
分析工作负载和观察窗口,对Ceph性能测试的影响。经确定,800秒的观察窗口和文件服务器工作负载在测试结果的可靠性和测试成本之间取得了平衡。
-
使用HDD和SSD对Ceph进行了性能测试和分析,评估了不同硬件对Ceph性能的影响。结果表明,基于SSD的Ceph的性能水平和性能波动水平分别比基于HDD的Ceph高3.7倍和2.8倍。
-
使用不同的本地文件系统和本地存储引擎对Ceph的性能进行了测试和分析。用EXT4替换XFS(Ceph的默认本地存储后端)将性能波动水平降低了0.02。Bluestore的性能水平和性能波动水平分别是Filestore的1.4倍和3.4倍。
-
通过消除本地文件系统中的性能波动,将本地文件系统中的波动水平从18.7%降低到3.6%,优化了Ceph的性能。
测试了Ceph在不同存储介质(HDD、SSD)和不同工作负载(Web服务器、文件服务器和邮件服务器)下的性能波动。并可以调整软件配置和软件组件以减少性能波动。通过使用Filestore,它比Bluestore减少了85.4%的性能波动。通过使用EXT4而不是XFS,它将性能波动降低了33.2%。但是,减少较低组件的性能波动并不总是能减少分布式文件系统的性能波动。将本地文件系统的性能波动降低了80.7%时,DFS的性能波动减少了38.0%。
总结
针对分布式文件系统的性能波动问题,受硬件、数据布局、网络、配置等影响,在运行不同应用时性能波动明显。本文针对ceph的性能波动进行测试,对配置进行调整,优化ceph性能。从以下方面进行分析:(1)依次分析应用层、网络层、软件层和物理层,以提高分布式文件系统性能测试的准确性。(2)分析工作负载和观察窗口。使用800秒的观察窗口和文件服务器工作负载在测试结果的可靠性和测试成本之间取得了平衡。(3)评估不同硬件对Ceph性能的影响。基于SSD的Ceph的性能和性能波动分别比基于HDD的Ceph高3.7倍和2.8倍。(4)使用不同的本地文件系统和本地存储引擎对Ceph的性能进行分析。用EXT4替换XFS将性能波动降低了0.02。Bluestore的性能和性能波动分别是Filestore的1.4倍和3.4倍。