正在生成
详细信息:
检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
内存使用超限风险与优化 RDS for MySQL内存说明 RDS for MySQL的内存大体可以分为GLOBAL级的共享内存和SESSION级的私有内存两部分: 共享内存是实例创建时根据参数即分配的内存空间,并且是所有连接共享的。 私有内存用于每个连接到MySQL服务器时才分配各自的缓存,且只有断开连接才会释放。
RDS实例内存使用率指标的计算方法 单击云数据库RDS实例名称,在“高级运维”页面可以查看内存使用率监控指标。 图1 实例监控 RDS内存使用率指标的计算方法: 内存使用率 =(总内存 –(空闲内存 + 给文件的缓冲大小 + 高速缓冲存储器使用的大小))/ 总内存 父主题: 数据库监控
变更实例的CPU和内存规格 操作场景 CPU/内存规格可根据业务需要进行变更,当实例的状态由“规格变更中”变为“正常”,则说明变更成功。 约束限制 账户余额大于等于0元,才可变更规格。 当实例进行CPU/内存规格变更时,该实例不可被删除。 当实例进行CPU/内存规格变更时,不能对
规格变更,界面提示擎天非擎天架构规格不可直接变更。关于虚拟机规格变更的说明详见变更单台ECS规格。 独享型规格的实例不支持变更为其他规格类型。例如:通用型规格实例可以变更为独享型,但变更后的独享型实例不能再变更为通用型。 如需变更存储类型为极速型SSD V2,请联系客服申请。 RDS
在“实例管理”页面,选择目标实例名称。 在左侧导航栏选择“内存加速”,单击“创建GeminiDB实例”。 填写并选择实例相关信息后,单击“提交”,完成实例创建。 表1 基本信息 参数 描述 GeminiDB实例规格 实例的CPU和内存,详细规格见表2。 数据库端口 数据库的访问端口号。 GeminiDB
RDS for MySQL内存使用率高的问题处理 对于用户核心业务相关的库 请扩容实例规格,具体请参见变更实例的CPU内存规格。 对于非用户核心业务相关的库 查看本地计算机的内存使用率,如果使用率曲线持续平缓,则无需处理。 对于用户核心业务相关但是数据库规格配置很高的库 在业务低峰
user方式删除用户。使用这种方式删除用户,需要执行flush privileges后,才会清理内存中相关数据,该用户才彻底不能登录。 使用delete from mysql.user方式删除用户,无法重新创建相应账户(报错ERROR 1396),原因是内存中相关数据仍然存在。 正确删除用户的方式为drop user语句,注意以下几点:
变更实例的CPU和内存规格 操作场景 CPU/内存规格可根据业务需要进行变更,当实例的状态由“规格变更中”变为“正常”,则说明变更成功。 约束限制 账户余额大于等于0元,才可变更规格。 实例处于正常状态,可以变更规格。 容灾实例不允许变更规格。 当实例进行CPU/内存规格变更时,该实例不可被删除。
内存加速概述 内存加速是GeminiDB Redis为了优化“传统被动缓存方案”而推出的功能,它可以让用户通过界面配置规则的形式,自动缓存MySQL的数据,加速MySQL的访问。 如下图图1所示,“传统被动缓存方案”需要用户自行开发代码把MySQL中的数据写入到缓存中,存在效率低
云数据库 GeminiDB Redis 接口”。 在左侧导航栏选择“内存加速管理”,单击目标映射操作列的“解除”。 图2 内存加速管理 单击确认框的“确定”,即可完成映射关系解除。 图3 解除映射 父主题: 内存加速
内存加速 内存加速概述 开启内存加速 管理映射规则 内存加速管理 父主题: RDS for MySQL用户指南
Server实例规格定义的内存包括RDS相关管理服务、数据库服务和底层操作系统占用的内存(如BIOS预留内存、内核和Hypervisor运行内存等)。因此,您查看的可用内存会小于实例规格定义的内存。RDS for SQL Server云盘实例基于ECS搭建,各实例采用的ECS实例规格族可能不同,因此性能会有所差异。
变更实例的CPU和内存规格 操作场景 CPU/内存规格可根据业务需要进行变更,当实例的状态由“规格变更中”变为“正常”,则说明变更成功。 约束限制 账户余额大于等于0元,才可变更规格。 当实例进行CPU/内存规格变更时,该实例不可被删除。 当实例进行CPU/内存规格变更时,不能对
RDS for MySQL变更实例的CPU和内存规格 RDS for MariaDB磁盘扩容 RDS for MariaDB变更实例的CPU和内存规格 RDS for PostgreSQL磁盘扩容 RDS for PostgreSQL变更实例的CPU和内存规格 RDS for SQL
Cache,其中InnoDB Buffer Pool为常驻内存,占用内存较大。 InnoDB缓冲池是一个内存区域,用于保存InnoDB表、索引和其他辅助缓冲区的缓存数据,可以通过参数“innodb_buffer_pool_size”定义缓冲池大小。 Server层的内存占用较高的包括Thread Cache、BinLog
场景描述 主机或只读实例偶尔出现磁盘占用高或磁盘占用满,其他只读实例或者备机磁盘空间占用正常。 原因分析 MySQL内部在执行复杂SQL时,会借助临时表进行分组(group by)、排序(order by)、去重(distinct)、Union等操作,当内存空间不够时,便会使用磁盘空间。
不同RDS实例的CPU和内存是否共享 不同规格类型的CPU和内存共用资源的情况不同: 通用型CPU和内存规格: 与同一物理机上的其他通用型规格实例共享CPU资源,通过资源复用换取CPU使用率最大化,性价比较高,适用于对性能稳定性要求较低的应用场景。 独享型CPU和内存规格: 完全独享的C
云盘性能比本地盘好的原因:本地盘有IOPS限制,2U4GB规格配置下本地盘的带宽上限不如云盘,导致当前压测模型下本地盘性能不如云盘。 结合业务实际情况选择合适的磁盘类型: 对于小规格,由于本地盘IOPS限制,导致本地盘的带宽优势无法发挥,因此可能云盘性能会更好。 规格增大后,由于云盘有磁盘带宽上限的限制
一个work_mem内存,并不是一个SQL消耗一个。 maintenance_work_mem:维护操作使用的最大内存数。 指标异常说明(影响) 生产数据库的内存要有一定的冗余,正常使用应保持在70%以下,若内存使用率长期高于阈值,建议考虑扩大内存规格。当内存使用率超过阈值并产生告警时,可能会产生以下问题。
测。 连接方式有误。 解决方法:检查连接方式。如果是通过内网连接RDS实例,弹性云服务器与云数据库RDS实例必须处于同一虚拟私有云内,且只能通过弹性云服务器连接。如果通过公网连接RDS实例,该弹性云服务器可以与目标实例不在同一个虚拟私有云内。 连接数满。 解决方法:通过云数据库R