ceph bench tools

简介

  ceph作为一个成熟的分布式存储系统可以提供对象,块,文件三种形态的存储。它内部不仅提供了很多测试用例还有很多measure性能的工具,此文便用来记录关于ceph性能的测试工具。

OSD性能测试

在有些文章看到有人使用 [dd if=/dev/zero of=/var/lib/ceph/ceph-xx/test bs=1M count=1024] 这种方式来测试OSD的性能。这种做法显然代替不了该OSD的性能,只能测试出该OSD所属次盘的data分区文件系统的性能。该命令所产生的IO是直接进入了XFS文件系统了,而我们期待的是通过librados进入OSD,在进入FileStore/BlueStore再进入磁盘的性能,所以该做法不合理,不过社区为我们提供了一种测试工具可以满足我们的需求。

COMMAND("bench " \
    "name=count,type=CephInt,req=false " \
    "name=size,type=CephInt,req=false " \
    "name=object_size,type=CephInt,req=false " \
    "name=object_num,type=CephInt,req=false ", \
    "OSD benchmark: write  -byte objects, " \
    "(default 1G size 4MB). Results in log.",
    "osd", "rw", "cli,rest”)

最简单的用法就是使用默认值(default count 1G size 4MB):
ceph tell osd.0 bench 
{
    "bytes_written": 1073741824,
    "blocksize": 4194304,
    "elapsed_sec": 7.919381,
    "bytes_per_sec": 135584059.016932,
    "iops": 32.325759
}
当然也可以按照代码里面的说明,自己定义count size等

存储池性能测试

对于存储池的测试我们可以用rados bench

rados bench -p    -b  -t --no-cleanup

pool_name:测试所针对的存储池
seconds:测试所持续的秒数
:操作模式,write:写,seq:顺序读;rand:随机读
-b:block size,即块大小,默认为 4M
-t:读/写并行数,默认为 16
--no-cleanup 表示测试完成后不删除测试用数据。在做读测试之前,需要使用该参数来运行一遍写测试来产生测试数据,在全部测试结束后可以运行 rados -p  cleanup 来清理所有测试数据。

举例(测试运行600s, 4M的块大小,64线程,不删除测试用数据):
rados bench -p cephfs_data 600 write -b 4M -t 64 --no-cleanup 
2019-09-10 01:26:35.468525 min lat: 0.763155 max lat: 4.25305 avg lat: 1.28744
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
   20      63       999       936   187.166       156     1.50761     1.28744
   21      63      1033       970   184.726       136     1.68059     1.30101
   22      63      1074      1011   183.781       164      1.4625     1.31952
   23      63      1110      1047    182.05       144     1.48224      1.3306
   24      63      1164      1101   183.462       216     1.03243      1.3374
   25      63      1212      1149   183.802       192     1.14344     1.33257
   26      63      1252      1189   182.886       160     1.40288     1.33673
   27      63      1306      1243   184.111       216    0.966673     1.33462
   28      63      1350      1287    183.82       176     1.13416     1.33445
   29      63      1404      1341   184.929       216     2.22456     1.33388
  ...
  583      63     21582     21519   147.616       144     1.49628     1.73058
  584      63     21615     21552   147.589       132     1.46498     1.73047
  585      63     21654     21591   147.603       156     1.60935     1.73044
  586      63     21684     21621   147.556       120     4.90418     1.73069
  587      63     21718     21655   147.537       136      1.8161     1.73109
  588      63     21761     21698   147.578       172     1.38556     1.73121
  589      63     21814     21751   147.687       212     1.01166      1.7305
  590      63     21870     21807   147.817       224       1.043     1.72912
  591      63     21912     21849   147.851       168     1.24735     1.72799
  592      63     21946     21883   147.831       136     2.59074     1.72769
  593      63     21989     21926   147.871       172     1.49615     1.72771
  594      63     22025     21962   147.865       144     1.48981     1.72769
  595      63     22080     22017   147.986       220     1.02077     1.72669
  596      63     22124     22061   148.033       176     1.31879     1.72591
  597      63     22156     22093   147.999       128     1.76057     1.72574
  598      63     22191     22128   147.986       140     1.53567     1.72587
  599      63     22230     22167   147.999       156     1.45891     1.72583
2019-09-10 01:36:15.575884 min lat: 0.754678 max lat: 11.0531 avg lat: 1.7257
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
  600      64     22263     22199   147.966       128     1.49292      1.7257
Total time run:         601.098917
Total writes made:      22263
Write size:             4194304
Object size:            4194304
Bandwidth (MB/sec):     148.149
Stddev Bandwidth:       39.3063
Max bandwidth (MB/sec): 272
Min bandwidth (MB/sec): 0
Average IOPS:           37
Stddev IOPS:            9
Max IOPS:               68
Min IOPS:               0
Average Latency(s):     1.7269
Stddev Latency(s):      0.797885
Max latency(s):         11.0531
Min latency(s):         0.754678

你可能感兴趣的:(ceph bench tools)