带你读《存储漫谈:Ceph原理与实践》——3.1.6 Burst I/O

简介: 带你读《存储漫谈:Ceph原理与实践》——3.1.6 Burst I/O

3.1.6  Burst I/O


Burst I/O 指的是云盘在一定时间内达到 IOPS 突发上限的能力,突发能力适用于云服务器的启动场景,如系统盘,若有持续突发能力,就能够大幅度地提升云服务器的启动速度。

Ceph RBD 设备突发能力的实现基于令牌桶。突发时,令牌的消耗速度大于令牌的生成速度,令牌的数量逐渐减少,最后 IOPS 会维持和桶生成令牌的速度一致,即达到 IOPS的上限,理论上:

可持续的突发时间 = 最初令牌桶中的令牌数 / ( 实际 I/O 请求的速度 - 令牌生成速度 )

然而实际上这样是无法控制突发速度的上限和突发时间的,这样的突发应该理解为可突发的 I/O 请求量,举例说明一下,如卷的上限 IOPS 设置为 1000 IOPS(令牌生成的速率),卷突发设置为 2000 IOPS,若实际 I/O 请求速度刚好也是 2000 IOPS,那么突发时长实际是 2s,而且实际 I/O 请求速度并没有得到限制,若实际请求速度到了 5000 IOPS,那么实际突发时长仅为 0.5s,即 0.5s 后请求速度就被稳定限制在 1000 IOPS。

为了解决上述问题,需要对令牌桶算法进行优化,将令牌桶的容量设置为 burst_second × burst,然后向该令牌桶中添加一个小桶(容量为 burst),以令牌生成速度(也即 IOPS 的上限速度)生成的令牌放入令牌桶中,令牌桶再将令牌以突发速度流入小桶中,请求总是从小桶中获取令牌。这样,当 burst_second > 1 时,RBD 设备可以获得持续的突发能力,突发上限值由小桶容量 burst 决定,突发持续时间由 burst_second 控制,这些参数都可以通过指令在线动态地去设置。下面举例说明一下。

(1)在线设置参数

设置前如图 3-25 所示。

image.png

图 3-25 参数设置前

rbd_qos_read_iops_burst :读 I/O 的突发限制。

rbd_qos_read_iops_burst_seconds :读 I/O 突发的持续时间。

rbd_qos_read_iops_limit :每秒读 I/O 限制。

设置后如图 3-26 所示。

image.png

图 3-26 参数设置后

将读 IOPS 限制设置为 1000,并将读 IOPS 突发设置为 5000,RBD 只能获得 2s 的突发级别 IOPS,然后维持限制级别。

(2)对比测试

设置前的测试结果如图 3-27 所示。

image.png

图 3-27 设置前的测试结果

设置后测试结果如图 3-28 所示。

image.png

图 3-28 设置后的测试结果

(3)测试结果分析

设置后的单卷读 IOPS 理论值计算公式如下。

iops = {rbd_qos_read_iops_burst_seconds * rbd_qos_read_iops_burst + (total_time_of_rand_read - rbd_qos_read_iops_burst_seconds) * rbd_qos_read_iops_limit} / total_time_of_rand_read

单卷随机读理论值:iops = (2 * 5000 + 98 * 1000)/100 = 1080

测试值:iops = 1097

结论:符合预期

相关文章
|
存储 容灾 安全
带你读《存储漫谈:Ceph原理与实践》——3.1.3 远程复制
带你读《存储漫谈:Ceph原理与实践》——3.1.3 远程复制
带你读《存储漫谈:Ceph原理与实践》——3.1.3 远程复制
|
存储 缓存 Linux
带你读《存储漫谈:Ceph原理与实践》——3.1.4 RBD Cache
带你读《存储漫谈:Ceph原理与实践》——3.1.4 RBD Cache
带你读《存储漫谈:Ceph原理与实践》——3.1.4 RBD Cache
|
存储 Linux 虚拟化
带你读《存储漫谈:Ceph原理与实践》——3.1.1 块设备映射
带你读《存储漫谈:Ceph原理与实践》——3.1.1 块设备映射
|
存储 缓存 算法
带你读《存储漫谈:Ceph原理与实践》——3.1.2 快照与克隆
带你读《存储漫谈:Ceph原理与实践》——3.1.2 快照与克隆
|
存储 算法 网络性能优化
带你读《存储漫谈:Ceph原理与实践》——3.1.5 QoS
带你读《存储漫谈:Ceph原理与实践》——3.1.5 QoS
|
2月前
|
存储 测试技术
阿里云块存储问题之测试不聚焦可能导致测试不稳定如何解决
阿里云块存储问题之测试不聚焦可能导致测试不稳定如何解决
33 3
|
3月前
|
存储 固态存储 大数据
阿里云服务器实例、块存储、带宽收费标准与云服务器最新活动价格参考
阿里云服务器价格通常包括云服务器实例价格、块存储价格和带宽价格组成,云服务器不同实例规格收费标准不一样,选择不同类型的块存储收费标准也不一样,选择不同的带宽收费标准也不一样。现在阿里云轻量应用服务器2核4G4M峰值带宽298元1年,云服务器2核4G5M固定带宽199元1年、2核8G1M固定带宽652.32元1年、4核8G1M固定带宽955.58元1年、4核16G10M带宽100G ESSD Entry云盘70元1个月。本文为大家整理了目前阿里云服务器实例、块存储、带宽收费标准与云服务器最新的活动价格情况,以供参考。
阿里云服务器实例、块存储、带宽收费标准与云服务器最新活动价格参考
|
2月前
|
存储
阿里云块存储问题之高效的Code Review可以发现70-90%的bug如何解决
阿里云块存储问题之高效的Code Review可以发现70-90%的bug如何解决
35 1
|
2月前
|
存储 Linux 测试技术
阿里云块存储问题之在编码和提交代码时确保代码提交的原子性如何解决
阿里云块存储问题之在编码和提交代码时确保代码提交的原子性如何解决
38 0
|
2月前
|
存储 Cloud Native Linux
阿里云块存储问题之poison发布阻塞机制实现如何解决
阿里云块存储问题之poison发布阻塞机制实现如何解决
39 0

相关实验场景

更多