【 使用环境 】生产环境
【 OB or 其他组件 】 OB
【 使用版本 】5.7.25-OceanBase_CE-v4.2.1.2
【问题描述】租户iops_weight应该如何配置比较合理。租户max_iops之和超过磁盘最大iops时,会根据租户的iops_weight按比列分配iops。那这个参数是配置比例么,有个租户配置了1,是合适的么
MIN_IOPS、MAX_IOPS、IOPS_WEIGHT是IO相关的三个参数,其中MIN_IOPS表示租户可以使用的最小的IOPS,会保证租户最少可以使用这么多的IOPS;MAX_IOPS表示租户可以使用的最大的IOPS,保证用户使用的IOPS一定不能超过这个限制;IOPS_WEIGHT是一个权重值,当有多个租户时,会根据IOPS_WEIGHT的值来动态计算每个租户的相对IOPS量,使租户使用的IOPS在MIN_IOPS和MAX_IOPS之间浮动。
我举个例子:
TENANT_ID | MIN_IOPS | MAX_IOPS | WEIGHT |
---|---|---|---|
1 | 1 | 100000 | 20000 |
2 | 2000 | 100000 | 10000 |
3 | 10000 | 100000 | 1 |
4 | 1 | 5000 | 20000 |
假如我们有4个租户,上面设置的值
● 磁盘已经打满时,租户 3 依然会拥有 1 万 iops,因为其通过 min_iops 预留了 1 万;
● 租户 4 的 iops 没有超过 5 千,因为其通过 max_iops 设置了资源上限;
● 无论负载如何变化,租户 1 和租户 2 的 iops 比值大概为 2:1,正如权重比例要求。
总结一下就是:IOPS_WEIGHT是一个权重值,当有多个租户时,会根据IOPS_WEIGHT的值来动态计算每个租户的相对IOPS量,使租户使用的IOPS在MIN_IOPS和MAX_IOPS之间浮动。
这个也可以参考下https://ask.oceanbase.com/t/topic/35603643