我通过OCP部署了一个业务集群(单副本2节点的集群),该集群部署完成后自动创建了sys租户,但是我看这个租户的资源分配情况如下:
想请教一下,这个sys的资源只占用了一个节点的资源,所以想问一下这个是正常的吗?sys的资源只会分配到副本中的rootservice这个节点上吗?
我通过OCP部署了一个业务集群(单副本2节点的集群),该集群部署完成后自动创建了sys租户,但是我看这个租户的资源分配情况如下:
正常的。sys 租户在每个zone 只需要一个节点就够了。sys 租户所在的节点就是 rootservice 服务所在的节点。后面你建业务租户 时, OB 会挑选可用节点分配租户资源。
好的,多谢。我看上面提醒SYS租户资源不足会导致异常。那要多少合适,有没有啥标准。
先这么用着,如果感觉 sys 租户 sql变慢再扩容。sys租户给多少取决于 集群节点总共有多少资源。业务租户越多,业务租户 sql 特别是 ddl 越多的时候,sys 租户的 sql qps 就越多。此外就是ocp 监控业务租户产生的内部sql等。
sys租户的资源适当,给多了浪费,给少了集群整体变慢。可以观察,在线调整。生产环境大内存服务器上 sys租户资源给到 5C10G 差不多了。
还有个问题请教一下,如下图:
对了,顺便请教一下,我在OCP上如何调整SYS租户的CPU和内存?
SYS 租户是给 OB 集群管理用,不给业务使用。通过OCP 在集群里创建租户(本质操作都是 SYS 租户里相关 SQL 创建业务租户的资源池和租户),这个新建出来的租户就是给业务用的,使用的是两个节点剩余的资源。
建议先看看OB 文档中原理介绍: OceanBase 数据库整体架构-OceanBase 数据库-OceanBase文档中心-分布式数据库使用文档
租户的资源页面可以调整每个zone里的资源单元的数量,默认是 1, 改为 2 就可以。但是租户在每个zone里的资源单元规格是一样的,改为 2 的前提是另外一个节点里能分配出这个资源。
所以资源的分配如果追求利用率的话,就需要精确计算规划。
你这种情况一个业务租户是无法百分百用完所有资源,因为有个 sys 资源在 膈应着。
你可以再新建一个业务租户就可以使用剩下的那部分资源。
我就是这个意思,希望分配个B的节点100%都用上。要不很浪费资源。比如我一个备份里面有100个节点,那如果每个节点都有类似上面这样有3CPU、5G内存没法完全利用的话。将是个很大的资源浪费。
租户多并且规格大小不一的时候,分配利用率可以很高。
但是实际运维的时候,为了风险可控,集群资源水位也不要太高。否则,如果因为负载过高导致有节点发生 故障的时候,将没有回旋的余地,容易引起性能雪崩。所以,这个分配率问题也不是那么多的重要。
重点观察租户性能监控中的【存储与内存】的监控。大部分是内存参数设置不当导致内存水位到达限速阈值。 这个说来话长,可以参考: OBCE V3 培训试验:内存管理分享 (qq.com) 。
另外,OB 社区团队近期直播课程中也会有性能诊断分析,可以关注一下。 【DBA从入门到实践】第三期:如何跑出更优的性能? - 社区问答- OceanBase社区-分布式数据库
看了一下,主要还是Insert慢:
集群资源分配情况如下:
帮忙再看看会是哪方面的问题,这两个节点我之前用过的,只是之前业务集群和ocp集群公用服务器,导致扩容有问题,我重建了一下。服务器应该没问题的。
转储太慢导致 增量内存总量接近租户内存限速值。服务器磁盘 性能不好,或者磁盘出现问题。看看磁盘性能监控。
磁盘是机械盘 吗?
我们申请的云平台的服务器,具体的我就不知道了。
OCP 业务租户下 发起一次合并。等个几分钟再发一次 【存储与缓存】监控图