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

Ceph RocksDB 性能改进说明

公众号新闻


新钛云服已累计为您分享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/


    推荐阅读   




    推荐视频    



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

戳这里提交新闻线索和高质量文章给我们。
相关阅读
卷起来了!BlackRock开招2025年暑期实习生了民族劣根性:内卷(上)Docker三剑客之Docker Swarm高性能计算中的RoCE技术洞察最强资管!BlackRock (US) 2024金融全职正在开放警察的故事 【原创】Chase UR 点数“Pay Yourself Back” (PYB)【去掉Grocery类别,新增Wholesale类别】MongoDB 和 AWS 又干上了,指出 DocumentDB 兼容性问题Ceph Reef 使用加密后的性能测试金融/会计专业优先!BlackRock(US)开放Full-time岗位微软拟与OpenAI投资1000亿美元建AI超算;Databricks 推出1320亿参数大语言模型 DBRX丨AIGC日报聊聊meta股票暴涨 - 前人科研,大佬摘桃英国春招 | 顶级资管BlackRock开放科技全职岗位【求职战报】美国金融巨头BlackRock分析师面试邀约!回乡记之问路记Databricks开源大模型DBRX,以及这对Databricks公司的商业,估值,上市等方面的影响。。。无言的小年祝福3个月砸1000万美元肝出“最强”大模型?黑马Databricks:我们完虐Grok、Llama,还更开放资管一哥|BlackRock 2025 Full-Time Analyst Program已开Shanghai Study Unlocks Key to Better Pancreatic Cancer Treatment#英语学习#英语俗语:Fall Through the CracksDocker Desktop 4.29 带来增强的容器隔离性、改进的错误管理界面以及与 Moby 26 的集成Ceph:实现 1 TiB/s 性能实践BlackRock,全美官宣上岸笔记 | 恭喜 美本学员 斩获 BlackRock 全职 offer考题大变!最强资管BlackRock开放2025 Summer Internship性能30%↑|阿里云AnalyticDB*AMD EPYC,数据分析步入Next Level网测大更新!最强资管BlackRock开放2025 Summer Internship3 个月砸 1000 万美元肝出“最强”大模型?黑马 Databricks:我们完虐 Grok、Llama,还更开放顶级资管!DBC职梦学员收到BlackRock (US) 全职面试邀请精选PM岗位丨NetApp、BlackRock、Apple等公司开放岗位!BlackRock退出中国市场? 如此才是留学生明智之举!初级运营分析师 | 全球资管公司排名TOP1的BlackRock招聘全职!精选SDE岗位丨Western Digital、BOSCH、Databricks等公司岗位发布!Costco本周优惠:Roborock S7真空扫地机器人,现价$1,599.99,省$400!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。