Oceanbase业务租户部署疑问

我通过OCP部署了一个业务集群(单副本2节点的集群),该集群部署完成后自动创建了sys租户,但是我看这个租户的资源分配情况如下:


想请教一下,这个sys的资源只占用了一个节点的资源,所以想问一下这个是正常的吗?sys的资源只会分配到副本中的rootservice这个节点上吗?

正常的。sys 租户在每个zone 只需要一个节点就够了。sys 租户所在的节点就是 rootservice 服务所在的节点。后面你建业务租户 时, OB 会挑选可用节点分配租户资源。

好的,多谢。我看上面提醒SYS租户资源不足会导致异常。那要多少合适,有没有啥标准。

先这么用着,如果感觉 sys 租户 sql变慢再扩容。sys租户给多少取决于 集群节点总共有多少资源。业务租户越多,业务租户 sql 特别是 ddl 越多的时候,sys 租户的 sql qps 就越多。此外就是ocp 监控业务租户产生的内部sql等。
sys租户的资源适当,给多了浪费,给少了集群整体变慢。可以观察,在线调整。生产环境大内存服务器上 sys租户资源给到 5C10G 差不多了。

还有个问题请教一下,如下图:


我用A、B两个机器建了个集群。rootservice建在A上,租户cpu设置的16,内存设置的28,由于SYS租户分配了3CPU和5G内存导致现在A机器上CPU和内存都是足额分配的。但是B机器上还有多余的CPU和内存。我怎么把B机器上剩余的CPU和内存分配出去呢?

对了,顺便请教一下,我在OCP上如何调整SYS租户的CPU和内存?

SYS 租户是给 OB 集群管理用,不给业务使用。通过OCP 在集群里创建租户(本质操作都是 SYS 租户里相关 SQL 创建业务租户的资源池和租户),这个新建出来的租户就是给业务用的,使用的是两个节点剩余的资源。
建议先看看OB 文档中原理介绍: OceanBase 数据库整体架构-OceanBase 数据库-OceanBase文档中心-分布式数据库使用文档

这个我知道,我的意思是B这个节点还有剩余的CPU和内存,我怎么分配给我新建的这个租户使用?

租户的资源页面可以调整每个zone里的资源单元的数量,默认是 1, 改为 2 就可以。但是租户在每个zone里的资源单元规格是一样的,改为 2 的前提是另外一个节点里能分配出这个资源。

所以资源的分配如果追求利用率的话,就需要精确计算规划。
你这种情况一个业务租户是无法百分百用完所有资源,因为有个 sys 资源在 膈应着。
你可以再新建一个业务租户就可以使用剩下的那部分资源。

我就是这个意思,希望分配个B的节点100%都用上。要不很浪费资源。比如我一个备份里面有100个节点,那如果每个节点都有类似上面这样有3CPU、5G内存没法完全利用的话。将是个很大的资源浪费。

租户多并且规格大小不一的时候,分配利用率可以很高。

但是实际运维的时候,为了风险可控,集群资源水位也不要太高。否则,如果因为负载过高导致有节点发生 故障的时候,将没有回旋的余地,容易引起性能雪崩。所以,这个分配率问题也不是那么多的重要。

1 个赞

刚才建了一个1备份2节点的集群,往里面导数据,总共有1.1亿条数据需要导入(导入工具DATAX),发现现在很慢,完全导不动:




这个是datax的截图:


这个会是哪方面的原因呀。

重点观察租户性能监控中的【存储与内存】的监控。大部分是内存参数设置不当导致内存水位到达限速阈值。 这个说来话长,可以参考: OBCE V3 培训试验:内存管理分享 (qq.com)

另外,OB 社区团队近期直播课程中也会有性能诊断分析,可以关注一下。 【DBA从入门到实践】第三期:如何跑出更优的性能? - 社区问答- OceanBase社区-分布式数据库

看了一下,主要还是Insert慢:




集群资源分配情况如下:

帮忙再看看会是哪方面的问题,这两个节点我之前用过的,只是之前业务集群和ocp集群公用服务器,导致扩容有问题,我重建了一下。服务器应该没问题的。

转储太慢导致 增量内存总量接近租户内存限速值。服务器磁盘 性能不好,或者磁盘出现问题。看看磁盘性能监控。



不知道是不是上面这两个

磁盘是机械盘 吗?

我们申请的云平台的服务器,具体的我就不知道了。

OCP 业务租户下 发起一次合并。等个几分钟再发一次 【存储与缓存】监控图


好慢,感觉合并不动

一下是【存储与缓存】