当前位置: 代码迷 >> 综合 >> Kubernetes Cephfs Ceph RBD 在k8s中的适用场景讨论及数据库性能压测
  详细解决方案

Kubernetes Cephfs Ceph RBD 在k8s中的适用场景讨论及数据库性能压测

热度:52   发布时间:2023-09-30 12:49:49.0

测试发现cephfs的小文件读写性能一般,且写入延迟偏高,性能不甚满意,但是满足于日常应用环境的读写是没有问题的,但是在面对数据库的应用场景,是否能满足性能要求呢?

本篇主要结合kubernetes,针对数据库应用场景,对cephfs 和 ceph rbd这两种ceph存储接口来进行性能对比测试。

在对比之前,再贴一下k8s对于cephfs和cephrbd的接入模式的支持:

Kubernetes Cephfs Ceph RBD 在k8s中的适用场景讨论及数据库性能压测

 

适用场景讨论


Cephfs:
优点:
1.读取延迟低,I/O带宽表现良好,尤其是block size较大一些的文件
2.灵活度高,支持k8s的所有接入模式

缺点:
1.写入延迟相对较高且延迟时间不稳定
适用场景:
适用于要求灵活度高(支持k8s多节点挂载特性),对I/O延迟不甚敏感的文件读写操作,以及非海量的小文件存储支持。例如作为常用的应用/中间件挂载存储后端。

Ceph RBD:
优点:
1.I/O带宽表现良好
2.读写延迟都很低
3.支持镜像快照,镜像转储

缺点:
1.不支持多节点挂载
适用场景:
对I/O带宽和延迟要求都较高,且无多个节点同时读写数据需求的应用,例如数据库。

测试方法可参考上方链接中的文章,这里直接贴结果:

Kubernetes Cephfs Ceph RBD 在k8s中的适用场景讨论及数据库性能压测

结果分析:

  1. ssd raid性能毫无疑问是最好的
  2. ceph rbd 数据库qps/tps可达ssd raid的60%-70%
  3. cephfs因为写入延迟不稳定的原因,压测过程中极小比例的操作响应时间非常漫长,导致qps/tps值整体表现不佳
  4. hdd测试得到的qps/tps值中规中矩,操作最低响应时间较其他三者要高,但最高响应时间值也不会很高。然而机械硬盘介质决定了随着它的负载增高寻址时间会随之加长,性能将会呈线性下降
  相关解决方案