【YashanDB知识库】崖山有哪些内存参数,Share Pool各个参数之间有什么关系

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 【YashanDB知识库】崖山有哪些内存参数,Share Pool各个参数之间有什么关系

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7709711.html?templateId=1718516

问题现象

Oracle一般只需要配置SGA/PGA,SGA内存会自动做分配,在崖山有比较多的内存配置参数,可以根据需要做详细的配置控制。具有有哪些主要参数,功能是什么呢,用户常有这种疑问。

在用户使用YashanDB的时候,开始的时候就会对内存的参数做一些配置调优,在另一篇文章《要有好的跑批性能,有哪些参数要注意》也介绍到如何合理配置各项参数,其中也涉及较多内存参数的配置。

但是用户实际使用的过程,陆续反馈了一些参数配置之后报错,例如SQL_POOL_SIZE+DICTIONARY_CACHE_SIZE配置大于100报错

问题的风险及影响

影响跑批性能

问题影响的版本

YashanDB版本:23.2及以上所有版本

解决方法及规避方式

崖山各项内存空间参数

可以参考下图:

image2024-10-24_14-35-23

上图中除了共享区域,其他各个配置均有对应的参数、观察使用情况的方法,可以在官网中找到详细的说明 配置参数 | YashanDB Doc,有了观察实际使用情况的方法后,可以根据实际情况做调整。

而共享区域的配置则相对复杂一点,可以参考下一章节。

Share Pool内部构成及相互关系

在Oracle中,SGA是全局共享内存区域,其内部也有很详细的各种池子,各个池子之间可以自动调节。

YashanDB的实现也有些类似,在Share Pool内存在多个POOL,如SQL POOL,DC POOL,LOCK_POOL,CURSOR_POOL等,

image2024-10-24_14-52-43

为了方面用户使用,设计SHARE POOL统一参数,用户一般只需配置SHARE_POOL_SIZE参数即可,SHARE POOL内存可在SQL POOL、DC POOL之间动态调整:SQL_POOL、DC_POOL、SHARE_POOL以MemoryPool管理,以MemoryPool管理的POOL出现内存不足时,可以从SHARE MEMORY POOL申请内存。

为了方便高阶用户进一步调整,每个POOL存在对应的配置参数限制控制其大小,存在如下限制:

SQL_POOL_SIZE、DICTIONARY_CACHE_SIZE表示占用share pool大小的百分比,两者总和不能超过100

● LOCK_POOL_SIZE和CURSOR_POOL_SIZE表示占用内存大小

● SQL_POOL_SIZE、DICTIONARY_CACHE_SIZE参数范围为[1, 99]的整数,默认值分别为50,25.

● SHARE_POOL_SIZE参数范围为[160MB, 64TB],默认值为256M, 生效方式为重启生效

● CURSOR_POOL_SIZE默认值为32M

目录
打赏
0
0
0
0
96
分享
相关文章
【YashanDB知识库】YashanDB安全设置示例
【YashanDB知识库】YashanDB安全设置示例
【YashanDB知识库】YashanDB安全设置示例
【YashanDB知识库】YCM数据库托管遇到的问题
【YashanDB知识库】YCM数据库托管遇到的问题
【YashanDB知识库】YCM数据库托管遇到的问题
【YashanDB知识库】备库扩缩容指导
【YashanDB知识库】备库扩缩容指导
【YashanDB知识库】YashanDB查询时间与实际时间默认少8小时
【YashanDB知识库】YashanDB查询时间与实际时间默认少8小时
【YashanDB知识库】重装新库及元数据和数据导出导入指导
【YashanDB知识库】重装新库及元数据和数据导出导入指导
【YashanDB知识库】重装新库及元数据和数据导出导入指导
|
1天前
|
SQL
【YashanDB知识库】手工迁移Doris数据到崖山分布式
【YashanDB知识库】手工迁移Doris数据到崖山分布式

数据库

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等