开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

PolarDB的这些问题怎么解决?

PolarDB中我想了解这些问题:内存居高不下的原因以及机制是什么?内存持续增长会不会对后面应用有影响以及如果存在影响解决方案是什么?
背景说明:
数据库版本:polardb for mysql
数据库容量:12.68TB
数据配置:16C 128G内存
内存使用情况:(89%- 90%)
数据库数据:数据为事件型(用户动账数据),单表1.3kw左右,90%都是insert, 不存在读多写少情况。

展开
收起
三分钟热度的鱼 2024-01-17 20:07:25 51 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    PolarDB内存居高不下的原因可能有多个。首先,PolarDB在很多地方使用了以空间换时间的方法,所以内存使用量上会有一定的上升。其次,PolarDB基于Parallel Raft一致性协议的分布式存储集群,计算引擎是由1~16个分布在不同服务器上的计算节点构成,这也可能使得内存使用增加。

    对于内存持续增长会不会对后面应用有影响以及如果存在影响解决方案是什么这个问题,如果内存使用过高,可能会影响系统的性能,包括响应时间的增加和系统吞吐量的下降。解决这种问题的方式主要有两种:一是优化应用程序,减少内存使用;二是升级或扩容PolarDB的配置,提高其处理能力。例如,可以考虑升级到更高配置的实例,如24C 256G内存等。同时,也可以根据业务需求进行分库分表或者分区操作,以提高数据库的处理效率。

    此外,值得一提的是,PolarDB底层使用存储集群的方式做到磁盘动态扩容,且磁盘扩容过程对用户无感知。当使用了70%的磁盘空间时,系统就会自动扩容一部分空间,而且扩容不需要停止实例。这种机制可以有效地应对内存持续增长的问题。

    2024-01-18 13:46:51
    赞同 展开评论 打赏
  • 我们buffer pool内存默认占了实例的75%,这部分内存是不会回收的,如果其它部分还有些内存使用的话,很容易就会导致内存达到90%的,这个是正常现象。可以后续关注下内存是否有持续的上升现象,一般后面内存会稳定下来的。此回答整理自钉群“PolarDB专家面对面 - 通用功能咨询”

    2024-01-17 20:23:55
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载