Bendi新闻
>
Ceph RocksDB 性能改进说明

Ceph RocksDB 性能改进说明

3月前


新钛云服已累计为您分享792篇技术干货


关于Ceph的RocksDB的性能优化,并没有什么特别好的方式。但本文会给出⼀个比较好的改进方式:如果你使用的是上游 Ceph Ubuntu 软件包,那么改进会变的更简单些。




简单说明

Mark Nelson 发现,在合并Pull request (PR) 之前,构建过程没有正确地将CMAKE_BUILD_TYPE选项 传递给由Ceph构建的外部项目(在本例中为 RocksDB)。

此之前,软件包使用RelWithDebInfo构建,以构建 "performance"发布包。虽然尚未得到验证,但自Luminous 发布以来,上游Ceph Ubuntu软件包有可能都受到了影响。在不使用RelWithDebInfo的情况下,RocksDB的性能达不到最佳。

这可以通过安装 "peformance "软 件包来缓解。实际的性能提升取决于集群,但 RocksDB 压缩会降低 3 倍。在某些情况下,随机4K写入性能会提高一倍。


参见链接 :

https://bugs.gentoo.org/733316

https://ceph.io/en/news/blog/202 4/ceph-a-journey-to-1tibps/


该如何解决这个性能问题?
  1. 对于您正在运行的版本,安装已解决此问题的版本:Pacific、Quincy、Reef。

  2. 如果您正在运行Ceph 的 EOL 版本,您可以自己构建它。请参阅文档或下面的简短版本。

git clone [ceph](https://github.com/ceph/ceph.git)cd cephgit checkout vYour_Release_Verionadd "extraopts += -DCMAKE_BUILD_TYPE=RelWithDebInfo" to debian/rules file./do_cmake.sh -DCMAKE_BUILD_TYPE=RelWithDebInfodpkg-buildpackage -us -uc -j$DOUBLE_NUMBER_OF_CORES_BUILD_HOST 2>&1 | tee../dpkg-buildpackage.log

注意:如果只需要二进制包而不需要源代码包,请在dpkg-buildpackage 中添加"-b "选项。确保有足够的可用文件空间和内存,尤其是在使用大量线程构建时。我使用的虚拟机有 256 GB 内存、64 个内核 和 300 GB 空间,耗时约1小时7分(完整构建包括源代码包)。

请确保查看dpkg-buildpackage.log 

检查

DCMAKE_BUILD_TYPE=RelWithDebInfo 

如下所示:

cd /home/stefan/ceph/obj-x86_64-linux-gnu/src/rocksdb && /usr/bin/cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DWITH_GFLAGS=OFF -DCMAKE_PREFIX_PATH= -DCMAKE_CXX_COMPILER=/usr/bin/c++ -DWITH_SNAPPY=TRUE -DWITH_LZ4=TRUE -Dlz4_INCLUDE_DIRS=/usr/include -Dlz4_LIBRARIES=/usr/lib/x86_64-linuxgnu/liblz4.so -DWITH_ZLIB=TRUE -DPORTABLE=ON -DCMAKE_AR=/usr/bin/ar -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFAIL_ON_WARNINGS=OFF -DUSE_RTTI=1 "-GUnixMakefiles" -DCMAKE_C_FLAGS=-Wno-stringop-truncation "-DCMAKE_CXX_FLAGS='-Wnodeprecated-copy -Wno-pessimizing-move'" "-GUnix Makefiles"/home/stefan/ceph/src/rocksdb

验证实际 RocksDB 性能改进

我们在存储节点上安装了重建的软件包(其中 ceph-osd 是最重要的),结果是惊人的好。



并放大某个特定的 OSD


如果您发现自己需要压缩 OSD,那么您将会感到惊喜。压缩 OSD 带来三大好处:

1. 提高了 RocksDB 本身的性能。

2. 增强的 OSD 写入性能,从而缩短恢复时间。

3. 减少停机时间,从而减少需要恢复的数据量。


服务器指标中的一些图可以说明这一点。我们压缩 OSD 的程序包括交错关闭 OSD。一旦所有 OSD 关 闭,就会并行执行压缩 (df|grep "/var/lib/ceph/osd" |awk '{print $6}' |cut -d '-' -f 2|sort -n|xargs -n 1 -P 10 -I OSD ceph-kvstore-tool bluestore-kv /var/lib/ceph/osd/ceph-OSD compact )。


磁盘IOPS(优化之前)


磁盘IOPS(优化之后)



这是一个使用SATA 固态硬盘的节点。使用NVMe磁盘的节点速度更快。压缩时间为3-5分钟。磁盘IOPS(优化之前)



磁盘IOPS(优化之后)



请注意,SATA固态硬盘和NVMe硬盘在OSD压缩时间上的差距越来越大。以前,由于RocksDB 的性能问题,这种差距并不明显。但是,随着速度更快、延迟更低的磁盘的推出,这种差距变得越来越明 显。这表明,在配备更快磁盘的集群中,可以看到最显著的性能提升。


在这个特定的集群中,安装优化包后将压缩所有 OSD 所需的时间缩短了约三分之一。以前需要 9 个半小时,现在只需 6 个小时即可完成。


真实环境中的性能提升

虽然我们希望看到性能翻倍,但事实并非如此。不过,我们仍然看到性能有了显著提高。为了检测⼀些故障,我们在云上运行了虚拟机,以持续(每 5 分钟一次)监控虚拟机内部的性能。其中一项测试是FIO 4K 随机写入测试(单线程,队列深度为1)。


CephFS上的4K随机写入(优化之前)



CephFS 上的 4K 随机写⼊(优化之后)



我们还进行了其他fio基准测试,主要优点是标准偏差降低,尾部延迟也减少了。


结论
  • 像 Mark Nelson 所做的那样,针对 "已知良好 "集群进行性能验证是有好处的。这有助于在运行生产工作负载之前及早发现性能问题。

  • 与使用SAS/SATA SSD或HDD等低性能驱动器的集群相比,配备更快磁盘的集群更有可能实现显著的性能提升。 


建议/注意事项
  • 在进行性能测试时,探索各种部署策略。这可能包括在使用不同操作系统的裸机、使用上游容器的 容器化环境以及 Ceph 项目内支持的其他部署方法上进行测试。

在进行性能测试时,探索各种部署策略。这可能包括在使用不同操作系统的裸机、使用上游容器的 容器化环境以及Ceph项目内支持的其他部署方法上进行测试。


  • 随着时间的推移,进行这些测试可以产生更标准化的指标,如 "IO/Watt "或 "throughput/Watt "比率,从而更容易比较不同的测试。或许我们可以开发针对Ceph的测试,以便与Phoronix 测试套件等工具配合使用?

  • 尽管在这种特殊情况下不是问题,但值得⼀提的是,可能会出现与特定CPU架构相关的性能下降。例如,同时使用ARM64和x86-64 性能集群可以发现与特定构建选项相关的差异。这种⽅法有助于 及早发现此类问题。

    如有相关问题,请在文章后面给小编留言,小编安排作者第一时间和您联系,为您答疑解惑。

   原文:https://ceph.io/en/news/blog/2024/silver-bullet-rocksdb-performance/


    推荐阅读   




    推荐视频    



微信扫码关注该文公众号作者

来源:新钛云服

相关新闻

Ceph:实现 1 TiB/s 性能实践Ceph Reef 使用加密后的性能测试扫码枪+AI:一扫生成药品信息卡片,说明书可以扔了!|AI 教程出现这几种信号,说明你开始抑郁了|免费测抑郁指数“有福之人,必有征兆”:把握住这一点,说明你会越过越好!Ceph 提供 NFS 服务:高效存储解决方案的终极指南能在这几件事上保持沉默,说明此人不简单Ceph Reef 测试:RGW 的Throughput 和ecRovery致敬!30年前的老前辈纯手工做示波器(附电路图+原理说明)小米 SU7 事故官方说明:驾驶员操作不当;美国:禁止向未成年人推送成瘾算法内容;黄仁勋成全球第 13 大富豪 | 极客早知道孩子有这1种行为,说明他内心在崩溃王林清案辩护人魏汝久律师关于王林清一案的说明身体出现这个迹象,说明你该放过自己了关于人生教练的说明(二)亚裔女性挣得比白人男性多,能说明美国不存在族裔和性别收入差距吗?国家药品监督管理局关于氟马西尼注射液等品种说明书增加儿童用药信息的公告"她都能活蹦乱跳,就说明凯特消失绝对有鬼"一土中学部(北京校区)上海、苏州说明会开启报名康师傅回应方便面将大幅涨价;理想汽车回应投资者集体诉讼;比亚迪发布福州闽侯展厅火灾说明;雷军18日将驾车直播...提车刚满半月,长城炮车主被车顶电动帐篷卡脖身亡!销售称未按说明书流程操作,车企及帐篷生产方刚刚回应了关于人生教练的说明【民生】马克龙说明新“生育假”细节,更高补助7种表现说明你蔬菜没吃够!后果很严重,赶快自查!“家有贵人,必有征兆”:一个家庭出现这3个征兆,说明要走大运(很准)
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。