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 <count> <size>-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 <pool_name> <seconds> <write|seq|rand> -b <block size> -t --no-cleanup

pool_name:测试所针对的存储池
seconds:测试所持续的秒数
<write|seq|rand>:操作模式,write:写,seq:顺序读;rand:随机读
-b:block size,即块大小,默认为 4M
-t:读/写并行数,默认为 16
--no-cleanup 表示测试完成后不删除测试用数据。在做读测试之前,需要使用该参数来运行一遍写测试来产生测试数据,在全部测试结束后可以运行 rados -p <pool_name> 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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容