移动云云数据库大事务处理预防方案

vps主机对比评测网 02-04 vps主机商相关 733

背景信息

大事务即运行的时间比较长,操作数据比较多的事务。

风险:

  • 出现内存溢出(OOM)的隐患;
  • 锁定太多数据,造成大量的阻塞和锁超时;
  • 执行时间长,容易造成主从延迟。

内存溢出(OOM)的预防解决方案

事务较多或者运行大事务SQL,加剧内存消耗量,当实例的内存使用率达到80%,此时实例的内存已达瓶颈,会导致系统响应慢,出现实例频繁重启现象,甚至经常出现内存溢出(OOM)隐患。

预防方案

移动云云数据库mysql提供监控告警功能和数据库自治服务,可自定义监控内存使用量情况。具体操作参见“MySQL内存使用问题”章节。

解决方案:

1.建议您将大事务拆分为小事务分别执行。例如在delete语句中增加where条件子句,限制每次删除的数据量,将一次删除操作拆分为多次数据量较小的删除操作进行。

2.优化数据库参数,减少内存利用率,具体操作参见“内存利用率过高”章节。

3.如果经常出现内存溢出(OOM)现象,建议升级实例规格,具体操作参见“实例规格、存储/备份空间变更升级”章节。


锁定太多的数据排查方案


方案1:实例的存储空间不足

升级变更实例存储空间后即可解锁数据,具体操作参考“实例变更”章节。

方案2:日志文件占用量高

事务较多或者运行大事务导致事务日志增长过快。

  • 数据文件占用量高的解决方法。如果数据库文件占用空间比较多,可以先检查数据文件的使用率。对于文件大但使用率低的数据库,可以进行相应处理。详细步骤如下。

1.查看数据库的空闲空间。


USE [$DB_Name];SELECT SUM(unallocated_extent_page_count) AS [free pages],       (SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]FROM sys.dm_db_file_space_usage;

说明

[$DB_Name]指数据库名。

2.找到空间使用率较高的数据库,然后执行以下语句,收缩该数据库。

DBCC SHRINKDATABASE([$DB_Name]);

也可以执行以下命令来收缩单个文件。

DBCC SHRINKFILE(file_id,[$Size]);

说明

[$Size]指收缩以后的大小,而不是要收缩多少,单位MB。

临时文件用量高的解决方法。您可以从MySQL控制台>监控告警功能中初步判定临时文件是否占用太多空间。如果临时文件的空间不够,Error Log中也会有相应的记录。建议您执行以下操作:

执行时间长,造成主从延迟排查方案

方案1:主实例的TPS(Transaction Per Second)过高

确认主实例的TPS是否正常,如果TPS过高,则需要对业务进行优化或者拆分,保证主实例的TPS不会导致只读实例出现延迟。

方案2:主实例的大事务

1.主实例运行update、delete、insert…select、replace…select等涉及大事务操作时,会生成大量的Binlog日志文件数据并同步到只读实例。只读实例需花费与主实例相同的时间来完成该事务,因此会导致只读实例同步延迟。

  在只读实例出现大事务导致延迟时,登录数据库,执行以下SQL语句,确认Seconds_Behind_Master不断变化,而Exec_Master_Log_Pos却保持不变,说明只读实例的SQL线程在执行一个大事务或者DDL操作。然后通过show processlist语句定位具体的线程。

show slave status \G

2.建议拆分大事务为小事务分别执行。例如,一个事务中操作了500万行数据,在有这种大事务的情况下,建议您将事务拆分,每个事务操作10万行数据,分50次执行。这样只读实例可以迅速的完成事务的执行,不会造成数据的延迟。

方案3:主实例的DDL语句执行时间长

  • 对于DDL直接引起的只读实例延迟,建议在业务低峰期执行这些DDL。您可根据业务情况通过以下方法进行解决:
  • 对于来自主实例的DDL语句在只读实例上被阻塞的情况:


本文由 vps主机对比评测网 刊发,转载请注明出处

本文链接: https://www.vpsvsvps.com/vps/a/5403.html

标签: 移动云,云主机,云数据库,mysql

“移动云云数据库大事务处理预防方案” 的相关文章

Virtono主机商: 终生65折优惠码

Virtono主机商简介: Virtono主机商自2014年成立以来,我们愉快地为来自世界各地的数以万计的客户提供服务,并不断寻找新的方式来实现我们的使命:以合...

Mondoze主机商:马来西亚VPS(原生IP) 8折促销, 5.59美元/月起, 100M带宽/不限流量

Mondoze是一家成立于2012马来西亚服务器商家,机房位于马来西亚,主打VPS业务,独立服务器,云服务器等等。Mondoze只提供优良的配置,独立内存,独立...

TmhHost主机商:全场VPS七折 CN2 GIA 香港CTG/ 日本软银可选

TmhHost是一家成立于2019年的国人主机商,提供VPS(云服务器)和独立服务器租用等,数据中心可选美国洛杉矶(CN2 GIA/高防/AS9929)、中国香...

ServerGigabit主机商: 马来西亚VPS月付$7.59起,100M带宽,不限流量

Servergigabit(千兆服务器有限公司)是一家成立于2011年的老牌马来西亚主机商家,主营马来西亚VPS、虚拟主机、独立服务器、游戏服务器、裸金属服务器...

RackNerd主机商: 新上法国机房年付18美元

RackNerd 在 LET 发布了新上法国机房的消息,位于斯特拉斯堡的 DataDock 机房,基于 KVM 架构,SSD 硬盘组Raid-10,最低年付17...