在OceanBase数据库中,设置resource_hard_limit为150后,max_cpu值可变,但租户的CPU使用率始终受min_cpu限制。即使两次执行相同的负载,CPU使用率也会随着min_cpu的变化而变化。这种情况发生在通过obd工具部署的环境中,请问为何租户CPU使用率无法突破min_cpu的限制?
https://ask.oceanbase.com/t/topic/35606062 。 此回答 整理自钉群“[社区]技术答疑群OceanBase”。
在OceanBase数据库中,min_cpu和max_cpu并不是指绑定物理核,而是通过cgroup限制cpu的使用率。具体来说,min_cpu是提供给租户cpu的最低保证,这是在创建租户时会检查所有租户min_cpu之和不能超过cpu_count的值,这个值是配置项,默认为机器物理cpu数。这样做的目的是当所有租户负载占满机器物理cpu时,能保证租户之间不互相挤占。
另一方面,max_cpu则是给租户的最大cpu使用率。在创建租户时,系统会检查所有租户max_cpu之和不能超过cpu_count * resource_hard_limit的值,其中resource_hard_limit是配置项,单位为百分数,缺省值是100%。这样设计是为了在机器cpu资源宽裕时,能提供给每个租户一定比例的超卖。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。