【ceph相关】ceph基准性能测试工具

这篇具有很好参考价值的文章主要介绍了【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 USED
    8.84TiB     7.11TiB      1.72TiB         19.51
POOLS:
    NAME         ID     USED        %USED     MAX AVAIL     OBJECTS
    data         1       865GiB     20.42       3.29TiB      972426
    metadata     2      4.53MiB         0       3.29TiB          23
    rbd          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 USED
    8.84TiB     8.33TiB       522GiB          5.76
POOLS:
    NAME         ID     USED        %USED     MAX AVAIL     OBJECTS
    data         1       242GiB      5.69       3.91TiB       61839
    metadata     2      4.53MiB         0       3.91TiB          23
    rbd          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_866969
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
    0       0         0         0         0         0           -           0
    1      32      1451      1419   1418.91      1419   0.0191834   0.0221416
    2      32      2650      2618   1308.88      1199     0.01998   0.0242286
    3      32      3950      3918   1305.87      1300   0.0454287   0.0243057
    4      32      5268      5236   1308.87      1318   0.0220942   0.0242726
    5      32      6450      6418   1283.47      1182  0.00952028   0.0246442
    6      32      7783      7751   1291.71      1333   0.0304047   0.0247259
    7      32      8917      8885   1269.16      1134   0.0424561   0.0251228
    8      32     10103     10071   1258.75      1186   0.0349519   0.0253182
    9      32     11369     11337   1259.54      1266     0.18918   0.0252901
   10      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类型,可选参数writeread
  • –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 sequential
  SEC       OPS   OPS/SEC   BYTES/SEC
    1      1050   1058.49  1109903644.86
    2      2003   1010.63  1059723111.81
    3      2960    996.71  1045129203.36
    4      4016   1007.09  1056005653.25
    5      4998   1004.93  1053750329.33
    6      5986    989.95  1038033060.34
    7      6990    996.93  1045357363.33
    8      8012   1003.24  1051973847.83
    9      8934    985.76  1033646506.51
   10      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对应参数值文章来源地址https://www.toymoban.com/news/detail-405376.html

到了这里,关于【ceph相关】ceph基准性能测试工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端性能测试必备测试工具

    我们在使用网站过程中,经常会遇到慢的问题,为了找到原因,一般需要借助工具进行检测,通过工具,可以检测出前端站点加载资源的相关详细情况。 今天,就给大家介绍几款前端性能测试分析工具,结合性能测试工具,实现通过量化的方式测试网站中诸如首字节加载时间

    2024年02月05日
    浏览(41)
  • 功能测试(八)—— APP之专项测试、性能测试、性能测试工具SoloPi

    目录 APP测试要点 目标 一、APP专项测试 1.1 兼容性 1.2 安装 1.3 卸载 1.4 升级 1.5 干扰测试(交叉事件测试) 1.6 Push推送 1.7 用户体验 二、 性能测试工具 2.1 APP性能测试工具介绍 —— SoloPi简介 2.2 APP性能测试工具 —— SoloPi使用 三、APP性能测试 3.1 CPU 3.2 内存 3.3 流量 3.4 电

    2024年02月03日
    浏览(42)
  • jmeter 性能测试工具的使用(Web性能测试)

    1、下载 该软件不用安装,直接解压打开即可使用。 2、使用 这里就在win下进行,图形界面较为方便 在目录apache-jmeter-2.13bin 下可以见到一个jmeter.bat文件,双击此文件,即看到JMeter控制面板。主界面如下: 3、创建线程组 测试计划--右键——》添加——》hreads——》线程组 设

    2024年02月10日
    浏览(51)
  • 扒开源安卓性能测试工具moblieperf源码——开发属于你自己的性能稳定性测试工具

    moblieperf由阿里巴巴开源的Android性能测试工具 下载:官方源码地址 mobileperf github 使用: 使用pycharm打开下载的项目 使用只需要修改配置文件 config.conf 即可 运行采集:a.mac、linux 在mobileperf工具根目录下执行sh run.sh ; b.windows 双击run.bat 配置图:(简单使用只需要修改包名和设

    2024年02月19日
    浏览(44)
  • 性能测试怎么做?测试工具怎么选择?

    在当前软件测试行业,熟练掌握性能测试已经是测试工程师们面试的敲门砖了,当然还有很多测试朋友们每天的工作更多的是点点点,性能方面可能也只是做过简单的并发测试,对于编写脚本,搭建环境方面也比较陌生。今天这篇文章就给大家梳理一下如何去做性能测试,和

    2024年02月13日
    浏览(37)
  • iOS性能指标和性能测试工具

    作为一名软件测试工程师,在测试 iOS 应用的性能时,需要关注以下几个方面: 1. 响应时间:应用的启动时间、页面加载速度、接口响应时间等。 2. CPU 使用率:应用在各种操作下的 CPU 占用情况。 3. 内存使用:应用在各种操作下的内存占用情况。 4. 网络性能:应用在各种

    2024年02月13日
    浏览(37)
  • Linux性能测试工具

    在Linux Benchmark Suite Homepage网站上列举了诸多Linux性能测试工具,包括CPU/RAM/ROM/Cache/net等性能测试。 测试工具 这个工具集中包含以下几种测试工具,我们主要使用到bw_mem工具进行Memory read和write测试。 Bandwidth benchmarks(带宽测试) Cached file read Memory copy (bcopy) Memory read Memory write Pi

    2023年04月08日
    浏览(38)
  • 网络性能测试工具

    网络的基本目的是有效地共享资源。利用可靠的网络测试工具建立定期的网络测试对于:了解网络的状态、确保配置更改按预期工作、检测瘫痪网络攻击、提供一流的终端用户体验。那么网络性能也是非常关键的。只要是需要快速而且大量的网络数据传输的应用都可以作为网

    2023年04月15日
    浏览(38)
  • Web 性能测试工具

    作为网站应用的开发者或维护者,我们需要时常关注网站当前的健康状况,譬如在主流程运行正常的情况下,各方面性能体验是否满足期望,是否存在改进与提升的空间,如何进行快速且准确的问题定位等,为了满足这些诉求,我们需要进行全面且客观的性能检测。 性能检测

    2024年02月02日
    浏览(46)
  • 自动化测试工具之 Jmeter性能测试

    1.性能测试概念: 通过自动化测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试 2.性能测试条件 系统基础功能测试验证完成 系统趋于稳定 3.性能测试基本流程 需求分析 (1)系统信息调研 (2)业务信息调研 (3)性能需求评估   判断是否进行

    2023年04月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包