8.2. Ceph 性能基准
Ceph 包含 rados bench
命令,用于在 RADOS 存储群集上执行性能基准测试。命令将执行写入测试,以及两种类型的读测试。在测试读取和写入性能时,--no-cleanup
选项非常重要。默认情况下,rados bench
命令会删除它写入存储池的对象。保留这些对象后,可以使用两个读取测试来测量顺序读取和随机读取的性能。
在运行这些性能测试前,运行以下命令丢弃所有文件系统缓存:
示例
[ceph: root@host01 /]# echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
[ceph: root@host01 /]# echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
创建新存储池:
示例
[ceph: root@host01 /]# ceph osd pool create testbench 100 100
[ceph: root@host01 /]# ceph osd pool create testbench 100 100
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对新创建的存储池执行 10 秒的写入测试:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为存储池执行一次10 秒的连续读测试 :
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为存储池执行一次 10 秒的随机读取测试 :
示例
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
选项也很有用。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
rados bench
命令创建的数据:示例
[ceph: root@host01 /]# rados -p testbench cleanup
[ceph: root@host01 /]# rados -p testbench cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow