ceph集群中RBD的性能测试、性能调优

这篇具有很好参考价值的文章主要介绍了ceph集群中RBD的性能测试、性能调优。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


rados bench

参考:https://blog.csdn.net/Micha_Lu/article/details/126490260
rados bench为ceph自带的基准测试工具,rados bench用于测试rados存储池底层性能,该工具可以测试写、顺序读、随机读三种类型.

写入速率测试:

rados bench -p rbd-bak 10 write --no-cleanup

ceph集群中RBD的性能测试、性能调优,ceph,ceph
顺序读速率测试:

rados bench -p rbd-bak 10 seq

ceph集群中RBD的性能测试、性能调优,ceph,ceph
随机读速率测试:

rados bench -p rbd-bak 10 rand

ceph集群中RBD的性能测试、性能调优,ceph,ceph

rbd bench-write

rbd bench-write为ceph自带的基准性能测试工具,rbd bench-write用于测试块设备的简单写入测试。

rbd bench-write rbd-bak/image1 --io-size 1M --io-pattern seq  --io-threads 32 --io-total 10G

ceph集群中RBD的性能测试、性能调优,ceph,ceph

测试结果取最后一行elapsed的值,带宽为bytes/sec对应参数值(单位为bytes/sec,可根据需要转换为MB/s),IOPS为ops/sec对应参数值

测试工具Fio

yum install fio -y

ceph集群中RBD的性能测试、性能调优,ceph,ceph

测试ceph rbd块设备的iops性能

关于fio命令的参数,参考:https://blog.csdn.net/zhiboqingyun/article/details/123368887

每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一;

测试随机写4kb文件的iops性能

fio --name=4krandwrite_iops --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randwrite --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph

顺序写4kb文件的iops性能

fio --name=4kwrite_iops --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=write --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph
顺序读4kb文件的iops性能

fio --name=4kread_iops --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=read --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph

随机读4kb文件的iops性能

fio --name=4krandread_iops --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randread --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph

测试ceph rbd块设备的带宽

测试ceph rbd设备写4MB文件的极限带宽性能

fio --name=4mwrite_bw --filename=/dev/rbd0 --numjobs=8 --bs=4m --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=write --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph
bw=这组进程的总带宽,每个线程的带宽

测试ceph rbd块设备的延迟

测试ceph rbd设备顺序写4kb文件的延迟性能

fio --name=4kwrite_lat --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=sync --direct=1 --randrepeat=0 --norandommap --rw=write --group_reporting --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph
一些参数解释:
slat 表示fio 提交某个I/O的延迟(min为最小值,max为最大值,avg为平均值,stdev为标准偏差)。 对于同步I / O,不会显示该行。
clat 表示从提交到完成I / O的时间。
lat 表示从fio将请求提交给内核,再到内核完成这个I/O为止所需要的时间;

usec:微秒;msec:毫秒;1ms=1000us;

测试ceph rbd设备顺序读4kb文件的延迟性能

fio --name=4kread_lat --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=sync --direct=1 --randrepeat=0 --norandommap --rw=read --group_reporting --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph

测试ceph rbd设备随机读4kb文件的延迟性能

fio --name=4krandread_lat --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=sync --direct=1 --randrepeat=0 --norandommap --rw=randread --group_reporting --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph

测试ceph rbd设备随机写4kb文件的延迟性能

fio --name=4krandwrite_lat --filename=/dev/rbd0 --numjobs=8 --bs=4k --ioengine=sync --direct=1 --randrepeat=0 --norandommap --rw=randwrite --group_reporting --runtime=10

ceph集群中RBD的性能测试、性能调优,ceph,ceph

性能调优

CPU调优:
ceph是使用软件定义的存储,因此其性能很大程度上依赖于OSD节点的CPU速度。CPU主频越高,则运行代码的速度就越快,同时处理io请求的时间就越短。
磁盘调优:
在磁盘参数和硬件配置相同的情况下,大量的io请求会向ceph osd写入数据,同时会向其他osd节点写入数据副本。如果OSD节点数量过少,那么会导致性能不高,因此增加osd数量,在某种程度上能提升写操作性能。
系统配置参数调优:
设置磁盘的预读缓存:【该参数通过预读取数据并将其加载到随机存取存储器中加快磁盘读操作,设置为较高的值有助于客户端顺序读取操作】

echo "8192" > /sys/block/vdc/queue/read_ahead_kb

设置系统的进程数量

echo 4194303 > /proc/sys/kernel/pid_max

ceph集群的配置参数:

为集群定义内部网络:

[global]
cluster network = {cluster network/netmask}

设置最大文件打开数:

[global]
max open files = 131072

ceph启用rbd缓存,默认的缓存机制是write-back

[client]
rbd cache = true
rbd cache size = 268435456 #rbd缓存大小
rbd cache max dirty = 134217728 #rbd缓存脏数据最大字节数,超过这个值之后,数据会写回备用存储。如果这个值设置为0,那么ceph使用的缓存模式是write-through

为了创建一个一致的提交操作,文件系统需要先静默写操作,并执行一次sync操作。然后将日志中的数据写到数据分区,再释放日志。如果同步操作太频繁,会导致日志中存放的数据很少,日志没有得到重复的利用。配置不那么频繁的同步操作,将有助于文件系统更好的合并写操作。有助于提升性能。
下面的参数定义了两次同步之间最小和最大的时间间隔。

[OSD]
filestore min sync interval = 10
filestore max sync interval = 15

文件存储队列的最大操作数:

[OSD]
filestore queue max ops = 25000 
filestore queue max bytes = 10485760 #每个操作的最大字节数

文件系统最大操作线程数:

[OSD]
filestore op threads = 32

其他的一些参数有:
关于journal的参数:
比如可以设置一次性写入的最大字节数 journal max write bytes 、
一次性在队列中的操作数 journal queue max ops等

关于osd config tuning:
osd一次可写入的最大值,osd max write size
osd进程的最大线程数,osd op threads

关于osd client tuning:
rbd 缓存大小,rbd cache size

具体参数描述可以参考文章。文章来源地址https://www.toymoban.com/news/detail-620904.html

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

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

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

相关文章

  • 【分布式技术】分布式存储ceph之RBD块存储部署

    目录 创建 Ceph 块存储系统 RBD 接口 服务端操作 1、创建一个名为 rbd-demo 的专门用于 RBD 的存储池 2、将存储池转换为 RBD 模式 3、初始化存储池 4、创建镜像 5、在管理节点创建并授权一个用户可访问指定的 RBD 存储池 6、修改RBD镜像特性,CentOS7默认情况下只支持layering和stripin

    2024年01月18日
    浏览(72)
  • 【ceph相关】ceph基准性能测试工具

    参考文档:RedHat-Ceph性能基准 本篇主要介绍几种ceph原生基准性能测试工具以及各自对应使用方法 不同于fio、vdbench等上层应用接口测试工具,ceph提供了一些自带的基准性能测试工具,用于测试rados、rbd等底层存储基准性能,可以比对底层基准性能和上层应用基准性能,确定潜

    2023年04月08日
    浏览(38)
  • k8s如何使用ceph rbd块存储(静态供给、存储类动态供给)

    环境: centos 7.9 k8s 1.22.17 ceph集群 首先明确一点,rbd块存储只能独占挂载,换句话说就是只能一个客户端挂载使用,不管这个客户端是真实的服务器也好还是k8s的pod也好,一句话,rbd块存储只能一个客户端挂载使用,这就决定了k8s中pv的读写模式不能也不支持ReadWriteMany。 基于

    2024年02月09日
    浏览(39)
  • Hive性能调优:Hive优化技术以及Hive集群规划

    作者:禅与计算机程序设计艺术 Apache Hive是一个开源的分布式数据仓库软件,可以用来进行数据提取、转换、加载(ETL)、查询等功能。作为Hadoop生态系统的一员,Hive具有强大的分析能力、灵活的数据定义、数据处理、数据分析和可扩展性,是一个理想的企业级数据仓库解决

    2024年02月06日
    浏览(44)
  • 【kafka性能测试脚本详解、性能测试、性能分析与性能调优】

    Apache Kafka 官方提供了两个客户端性能测试脚本,它们的存放位置如下: 生产者性能测试脚本:$KAFKA_HOME/bin/kafka-producer-perf-test.sh 消费者性能测试脚本:$KAFKA_HOME/bin/kafka-consumer-perf-test.sh kafka-producer-perf-test.sh 支持测试的性能指标包括:吞吐量(throughput)、最大时延(max-latenc

    2024年02月04日
    浏览(61)
  • openGauss学习笔记-271 openGauss性能调优-TPCC性能调优测试指导-测试MOT-TPCC性能

    本章节主要介绍openGauss数据库内核基于鲲鹏服务器和openEuler操作系统,为了达到最佳TPMC性能所依赖的关键系统级调优。 271.1 TPC-C简介 TPC-C基准是衡量联机事务处理(OLTP)系统性能的行业标准基准。它基于一个复杂的数据库和许多不同的事务类型。这些事务类型在此基准上执

    2024年04月26日
    浏览(41)
  • redis性能测试及瓶颈分析调优

    一、简介 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API mysql与redis的区别: 类型上mysql是关系型数据库,而redis是缓存数据库; 作用上mysql用于持久化的存储数

    2024年02月06日
    浏览(56)
  • 性能测试之Mysql数据库调优

    性能调优前提:无监控不调优,对于mysql性能的监控前几天有文章提到过,有兴趣的朋友可以去看一下 1、我们在监控图表中关注的性能指标大概有这么几个:CPU、内存、连接数、io读写时间、io操作时间、慢查询、系统平均负载以及memoryOver 2、介绍下Grafana模板中各性能指标的

    2024年02月04日
    浏览(54)
  • 性能测试监控指标及分析调优指南

      一、哪些因素会成为系统的瓶颈   CPU: 如果存在大量的计算,他们会长时间不间断的占用CPU资源,导致其他资源无法争夺到CPU而响应缓慢,从而带来系统性能问题,例如频繁的FullGC,以及多线程造成的上下文频繁的切换,都会导致CPU繁忙,一般情况下CPU使用率75%比较合适

    2024年02月16日
    浏览(58)
  • Python性能调优利器之单元测试

    作者:禅与计算机程序设计艺术 Python单元测试(unit testing)是用来对一个模块、函数或者类库的每个功能是否都按照设计的正确逻辑运行而产生的一套自动化测试过程。通过单元测试,可以找出代码中潜在的问题并改善其质量。 单元测试是在开发过程中进行的一些自动化测

    2024年02月08日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包