【ceph相关】ceph基准性能测试工具
一、前言
参考文档:RedHat-Ceph性能基准
本篇主要介绍几种ceph原生基准性能测试工具以及各自对应使用方法
不同于fio、vdbench等上层应用接口测试工具,ceph提供了一些自带的基准性能测试工具,用于测试rados、rbd等底层存储基准性能,可以比对底层基准性能和上层应用基准性能,确定潜在可调优的空间
rados bench
rados bench为ceph自带的基准测试工具,rados bench用于测试rados存储池底层性能,该工具可以测试写、顺序读、随机读三种类型rbd bench
rbd bench为ceph自带的基准性能测试工具,rbd bench用于测试块设备的吞吐量
二、rados bench
1、测试参数
rados bench -p <pool_name> <seconds> <write|seq|rand> [-b block_size] [-t concurrent_operations] [-k /.../ceph.client.admin.keyring] [-c /.../ceph.conf] [--no-cleanup] [--run-name run_name]
-p <pool_name>:
测试存储池名称<seconds>:
测试运行时长,单位为s<write|seq|rand>:
测试读写类型(write:写,seq:顺序读,rand:随机读)-b <block_size>:
测试读写块大小,默认为4MB,默认单位为字节
当存储池为纠删存储类型时,则最小测试文件大小与EC Stripe Width(默认4K)值相等
注:当文件大小不满足该值时,程序会自动调整为EC Stripe Width值-t concurrent_operation
测试读写并发线程数,默认为16-k /…/ceph.client.admin.keyring
指定测试ceph.client.admin.keyring
配置文件路径-c /…/ceph.conf
指定测试ceph.conf
配置文件路径–no-cleanup
表示测试完成后不删除测试数据,只对写有效
通常在读测试之前,需要执行写测试生成测试数据之后,再执行读测试
注:生成的测试文件可通过命令rados -p {pool_name} cleanup
删除
[root@node21 ~]# ceph df
GLOBAL:SIZE AVAIL RAW USED %RAW USED8.84TiB 7.11TiB 1.72TiB 19.51
POOLS:NAME ID USED %USED MAX AVAIL OBJECTSdata 1 865GiB 20.42 3.29TiB 972426metadata 2 4.53MiB 0 3.29TiB 23rbd 3 19B 0 3.29TiB 2
[root@node21 ~]# rados -p data cleanup
Warning: using slow linear search
Removed 910587 objects
[root@node21 ~]# ceph df
GLOBAL:SIZE AVAIL RAW USED %RAW USED8.84TiB 8.33TiB 522GiB 5.76
POOLS:NAME ID USED %USED MAX AVAIL OBJECTSdata 1 242GiB 5.69 3.91TiB 61839metadata 2 4.53MiB 0 3.91TiB 23rbd 3 19B 0 3.91TiB 2
- –run-name run_name
表示测试生成的对象名称
2、测试模型
执行性能测试之前,可通过echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
下刷所有文件系统缓存,以便于保证性能数据准确性
- 1M写测试
1M写、测试时长10分钟、线程数32
rados bench -p rbd 600 write -b 1M -t 32 --run-name 1M-write --no-cleanup
- 1M顺序读测试
1M顺序读、测试时长10分钟、线程数32
rados bench -p rbd 600 seq -b 1M -t 32 --run-name 1M-seq-read
3、结果分析
[root@node55 ~]# rados bench -p rbd 10 write -b 1M -t 32 --run-name 1M-write --no-cleanup
hints = 1
Maintaining 32 concurrent writes of 1048576 bytes to objects of size 1048576 for up to 10 seconds or 0 objects
Object prefix: benchmark_data_node55_866969sec Cur ops started finished avg MB/s cur MB/s last lat(s) avg lat(s)0 0 0 0 0 0 - 01 32 1451 1419 1418.91 1419 0.0191834 0.02214162 32 2650 2618 1308.88 1199 0.01998 0.02422863 32 3950 3918 1305.87 1300 0.0454287 0.02430574 32 5268 5236 1308.87 1318 0.0220942 0.02427265 32 6450 6418 1283.47 1182 0.00952028 0.02464426 32 7783 7751 1291.71 1333 0.0304047 0.02472597 32 8917 8885 1269.16 1134 0.0424561 0.02512288 32 10103 10071 1258.75 1186 0.0349519 0.02531829 32 11369 11337 1259.54 1266 0.18918 0.025290110 32 12501 12469 1246.78 1132 0.00946298 0.0254759
Total time run: 10.461089
Total writes made: 12502
Write size: 1048576
Object size: 1048576
Bandwidth (MB/sec): 1195.1
Stddev Bandwidth: 95.1227
Max bandwidth (MB/sec): 1419
Min bandwidth (MB/sec): 1132
Average IOPS: 1195
Stddev IOPS: 95
Max IOPS: 1419
Min IOPS: 1132
Average Latency(s): 0.0262649
Stddev Latency(s): 0.0302529
Max latency(s): 0.852841
Min latency(s): 0.00503798
测试结果取最后几行的值,带宽为Bandwidth (MB/sec)
对应的参数值,IOPS为Average IOPS
对应参数值,时延为Average Latency(s)
对应参数值
三、rbd bench
1、测试参数
rbd bench <rbd-name> --io-type <io-type> --io-size <io-size> --io-pattern <io-pattern> --io-threads <io-threads> --io-total <total-size>
- rbd-name:指定测试块设备名称,如rbd/rbd01
- –io-type:指定测试IO类型,可选参数
write
、read
- –io-size:指定测试IO块大小,单位为
byte
,默认参数为4096
(4KB) - –io-pattern:指定测试IO模式,可选参数为
seq
(顺序)、rand
(随机) - –io-threads:指定测试IO线程数,默认参数为
16
- –io-total:指定测试总写入数据量,单位为
byte
,默认参数为1073741824
(1G)
2、测试模型
2.1、大文件带宽测试
- 1M顺序写
指定线程数为32,写入数据量为100G
rbd bench rbd/rbd01 --io-type write --io-size 1M --io-pattern seq --io-threads 32 --io-total 100G
- 1M顺序读
指定线程数为32,写入数据量为100G
rbd bench rbd/rbd01 --io-type read --io-size 1M --io-pattern seq --io-threads 32 --io-total 100G
2.2、小文件IOPS测试
- 4K随机写
指定线程数为32,写入数据量为10G
rbd bench rbd/rbd01 --io-type write --io-size 4K --io-pattern rand --io-threads 32 --io-total 10G
- 4K随机读
指定线程数为32,写入数据量为10G
rbd bench rbd/rbd01 --io-type read --io-size 4K --io-pattern rand --io-threads 32 --io-total 10G
3、结果分析
[root@node55 ~]# rbd bench rbd/rbd01 --io-type write --io-size 1M --io-pattern seq --io-threads 32 --io-total 10G
bench type write io_size 1048576 io_threads 32 bytes 10737418240 pattern sequentialSEC OPS OPS/SEC BYTES/SEC1 1050 1058.49 1109903644.862 2003 1010.63 1059723111.813 2960 996.71 1045129203.364 4016 1007.09 1056005653.255 4998 1004.93 1053750329.336 5986 989.95 1038033060.347 6990 996.93 1045357363.338 8012 1003.24 1051973847.839 8934 985.76 1033646506.5110 9929 985.66 1033543565.56
elapsed: 10 ops: 10240 ops/sec: 990.65 bytes/sec: 1038773030.44
测试结果取最后一行elapsed
的值,带宽为bytes/sec
对应参数值(单位为bytes/sec,可根据需要转换为MB/s),IOPS为ops/sec
对应参数值
【ceph相关】ceph基准性能测试工具相关推荐
- 【存储测试】cosbench存储性能测试工具
一.前言 参考资料: https://blog.csdn.net/QTM_Gitee/article/details/100067724 https://github.com/intel-cloud/ ...
- ceph性能测试工具总结
https://blog.csdn.net/Motred_/article/details/52268225 性能测试工具 1.1 磁盘性能测试 dd 1.2 网络测试 1.2.1 iperf工 ...
- 【ceph】ceph性能分析工具之perf dump代码打点调试统计PerfCounters
目录 简介 一.查ceph自带的统计 1 命令格式 2 dump 命令输出结果 二.自己添加统计 三.分析案例 io耗时初分析 继续分析 进一步分析 代码修改和验证 四.报错记录 五.附录 1.代码修 ...
- 【ceph】ceph性能分析工具之perf dump代码打点调试统计
目录 简介 一.查ceph自带的统计 1 命令格式 2 dump 命令输出结果 二.自己添加统计 三.分析案例 io耗时初分析 继续分析 进一步分析 代码修改和验证 四.报错记录 五.附录 1.代码修 ...
- 【ceph相关】ceph常见问题处理
一.pg相关 1.xx objects unfound - 问题描述: dmesg查看磁盘发现读写异常,部分对象损坏(处于objects nofound状态),集群处于ERR状态 root@node1 ...
- 【ceph】ceph 网络问题和工具
yum install -y net-tools netstat -anp|grep ganesha.nfsd ceph daemon /var/run/ceph/ceph-client.admin. ...
- [雪峰磁针石博客]2018最佳12个开源或免费web服务器和客户端性能测试工具
更多参考 软件测试专家工具包2性能测试 服务器端性能 image.png Locust.io – 了解服务器端性能的好工具. 语言python3.源码 python3+ python2.7+ gith ...
- GBase 8c亮相国内首款金融数据库性能测试工具开源发布会
2 月 17 日,由信通院主办的国内首款金融数据库性能测试工具开源发布会在线上召开.会上,定位于国家高端专业智库.产业创新发展平台的信通院宣布开源该测试工具,并详细阐述了开源此工具的背景.初心.历程以 ...
- ONF测试工作张攀:OpenFlow控制器性能测试工具进展
2016年6月2日,"2016全球SDNFV技术大会"进入了第二天.作为连续举办三届的SDN/NFV技术与产业盛会,本届大会着眼于SDN /NFV的实践应用与部署,从SDN/NFV ...
最新文章
- Android开发--蓝牙操作
- ubuntu查看python版本-切换Ubuntu默认python版本的两种方法
- python验证码识别接口 服务器_python验证码识别模块
- LeetCode 347. 前 K 个高频元素(哈希/优先队列)
- php脚本启动,有没有办法启动一个PHP脚本并获得状态?
- VMware vSphere 功能特性比较 vsphere 6.5/6.7/7.0
- ubuntu安装ssh无法连接解决日志(已解决,可连接)-转
- Adobe向美国反垄断部门投诉苹果封杀Flash
- Docker DeskTop安装Jenkins教程[Windows]
- Java、JSP基于Java的题库管理系统的设计与实现
- STM32最小系统下载程序方法
- 中专生计算机职业素养论文,中职学生的职业素养
- 【Web前端】怎样用记事本写一个简单的网页-html
- SQL Server——SELECT单表数据查询(二)
- LeetCode——字节跳动系列题目
- 京东自营小米旗舰店小米11 Ultra手机烧主板烧屏
- 【泰迪杯-数据分析-1】matplotlib
- lisp封装为vlx方法_将VLDCL的FAS编译进VLX
- 大一上学期计算机试卷,大一计算机基础试卷
- 为什么上班是996而不是666