ceph基于令牌桶算法的image的流量IOPS上限限制

本文详细介绍了Ceph如何利用令牌桶算法限制Image的IOPS和流量上限,包括librbd模块的修改、算法实现、多用户多线程场景的解决方案以及元数据信息的存储位置。此外,还阐述了参数即时生效的机制和新增的流量控制命令。
摘要由CSDN通过智能技术生成

                     经过我测试发现,ceph基于令牌桶算法的流量和IOPS上限限制还是比较精准的。之前的测试报告找不到了,以后我会补上。源码地址为:https://github.com/ShiqiCooperation/shiqiceph

           

            本次修改是基于0.94.3版本,之后的版本rbd源码可能有变化,但是在实现上大同小异。


一,在librbd模块,做限制

         因为librbd模块的代码具有很明确的length,在librados层length就会被拆分成基于对象的length。所以我们基于librbd层做,具体为Internal .cc文件


二,设计构架

Librdb分为5层

Librbd接口层 :读配置,设置配置对象watch功能

Internal :所有librbd接口读写的汇总

Osdc : 对用户数据流切片

Objectcache: 用户数据缓冲层

Send op: 数据操作发送层


三,令牌桶算法

流量限制尝试了很多方案,但是只有采用令牌桶算法,才能限制的最为精准。

令牌桶算法的基本过程如下:

假如用户配置的平均发送速率为r,则每隔1/r秒一个令牌被加入到桶中࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值