RBD 镜像的仪表板可扩展性

Pere Diaz Bou

概述

由于图像数量过多,仪表板模块中 RBD 镜像的管理一直面临性能较低的挑战。当图像数量足够多时,表格会显示很长的加载时间,有时甚至看起来是无限的,从而使其无法使用。

在引入了 RBD 镜像的服务器端分页后,我们能够清楚地看到延迟减少了大约 99%

大约 50 个图像及以上时,管理 RBD 镜像会变得很麻烦。在下面的视频中,创建了 2048 个图像来显示不同版本之间的差异。

加载 2048 个图像 之前 添加分页

 

加载 2048 个图像 之后 添加分页

 

权衡

引入分页并非没有权衡。在进行了一些实验后,我们注意到检索图像的所有数据可能需要相当长的时间,范围从 10 毫秒到 30 毫秒不等,这意味着收集所有图像以进行后续分页实际上是不可能的。幸运的是,我们可以在短时间内收集所有图像的引用,例如,在 10 毫秒内检索了 2048 个引用。

由于这些引用的限制,现在对图像的排序和搜索仅限于图像名称、池和命名空间,但 RBD 镜像的管理现在可以在更大的规模上使用。

未来计划

RBD 镜像并非唯一受到可扩展性问题影响的表格。OSD、服务、警报、主机和库存是未来优化的目标,这些优化应包括分页,但由于每个组件的 API 各不相同,因此需要进行重大重构才能适应每种情况。