「Ceph」- 性能测试,块存储性能

  CREATED BY JENKINSBOT

问题描述

我们的目的是清楚掌握当前 Ceph Cluster 的吞吐性能,所以要针对 Ceph Cluster 进行性能测试。

解决方案

基准测试,实际上是一种比较。基准测试(benchmarking)是一种测量和评估软件性能指标的活动。你可以在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响。这是基准测试最常见的用途。

第一步、获取硬件基准性能

如果想要知道 Ceph Cluster 性能,那首先要知道可能的集群最大性能。而最大性能不可能超过基础设施的性能,所以我们首先将针对硬件进行独立测试,以获取特定硬件的最大性能;

我们需要获取两个基础设施的指标:
1)磁盘:Disk Performance
2)网络:WIP

网络吞吐

网络吞吐是另外一个重要的指标。可以使用 iperf 进行测试,它通过创建 Server/Client 连接进行 TCP 与 UDP 的吞吐测试;

使用方法相较简单:需要两台机器,分别是 Client 与 Server:

# 在 Server 上
iperf -s -p 6900

# 在 Client 上
# 当命令执行结束时,将显示网络最大吞吐;
iperf -c -p 6900 'server ip address'

总结结果

至此,我们已经知道了一些基线,可以开始进行 Ceph Cluster 的性能测试,以检查集群是否具有相近的性能;

基准测试可以在不同层级执行:
1)存储集群自身的底层基准测试;
2)关键指标的上层基准测试,比如块存储、对象网关等等;

第二步、获取集群基准性能

针对 RBD 测试(Block Storage)

rbd bench-write,该命令已废弃,建议使用 rados bench 命令;
rados bench
rados load-gen
fio

针对 MDS 测试(File System)

WIP

针对 RGW 测试(Object Storage)

WIP