7.3. Ceph 性能基准
Ceph 包含 rados bench
命令,用于在 RADOS 存储群集上执行性能基准测试。命令将执行写入测试,以及两种类型的读测试。在测试读取和写入性能时,--no-cleanup
选项非常重要。默认情况下,rados bench
命令会删除它写入存储池的对象。保留这些对象后,可以使用两个读取测试来测量顺序读取和随机读取的性能。
在运行这些性能测试前,运行以下命令丢弃所有文件系统缓存:
echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
[root@mon~ ]# echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
前提条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
创建新存储池:
ceph osd pool create testbench 100 100
[root@osd~ ]# ceph osd pool create testbench 100 100
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对新创建的存储池执行 10 秒的写入测试:
rados bench -p testbench 10 write --no-cleanup
[root@osd~ ]# rados bench -p testbench 10 write --no-cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为存储池执行一次10 秒的连续读测试 :
# rados bench -p testbench 10 seq
[root@osd~ ]## rados bench -p testbench 10 seq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为存储池执行一次 10 秒的随机读取测试 :
rados bench -p testbench 10 rand
[root@osd ~]# rados bench -p testbench 10 rand
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要增加并发读取和写入的数量,请使用
-t
选项,默认为 16 个线程。另外,-b
参数可以调整所写入对象的大小。默认对象大小为 4 MB。安全最大对象大小为 16 MB。红帽建议将这些基准测试中的多个副本运行到不同的池。这样做显示与多个客户端的性能更改。添加
--run-name <label
> 选项来控制在基准测试测试期间写入的对象名称。通过更改每个运行命令实例的--run-name
标签,可以同时运行多个rados bench
命令。这可防止当多个客户端试图访问同一对象时可能会出现潜在的 I/O 错误,并允许不同的客户端访问不同的对象。在尝试模拟真实工作负载时,--run-name
选项也很有用。例如:rados bench -p testbench 10 write -t 4 --run-name client1
[root@osd ~]# rados bench -p testbench 10 write -t 4 --run-name client1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
rados bench
命令创建的数据:rados -p testbench cleanup
[root@osd ~]# rados -p testbench cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow