问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何防止网络抖动造成的mysql数据重复写入情况

发布网友 发布时间:2022-05-02 03:26

我来回答

2个回答

懂视网 时间:2022-05-02 07:48

一、原理过程

技术分享

由上原理图,进行过程解析:

  1、事务提交,修改buffer_pool中的数据形成脏页,并且同时生成redo日志,将日志写入磁盘redo log中;

  2、事务提交成功;

假设,有三组redo log文件,

  3、继续事务提交,修改数据,写redo log,如果innodb_log_file_size的数值很小,但是产生的redo日志信息很大,这样第一组redo日志很快就会被写满,就要进行日志文件切换;

  4、如果三组redo log文件都被写满了,就需要进行日志覆盖;

  5、如果需要覆盖的redo log日志文件记录的脏页信息还没有写入到磁盘中,数据库就会主动加大写的力度将脏页信息刷到磁盘里;

  6、在将redo日志文件对应的脏页刷入磁盘的过程中,事务没有办法提交,影响业务。

 

二、原理分析

1、通过对redo log的修改时间查看日志文件切换时间

  通过shell> ls -l /mydata/ib_logfile*,查看开始修改的时间和最后修改的时间,计算logfile切换时间。

2、如果redo日志文件切换时间过短,也就是切换频繁,就很容易导致写抖动

  1、正常业务繁忙的会是10-20分钟;

  2、如果是比一般的时间短,说明文件小,切换频繁。

 

三、解决写抖动问题

1、增加redo日志文件数量

mysql> show global variables like ‘innodb_log_files_in_group‘;
+---------------------------+-------+
| Variable_name  | Value |
+---------------------------+-------+
| innodb_log_files_in_group | 2 |
+---------------------------+-------+
1 row in set (0.01 sec)

2、扩大日志文件容量

mysql> show global variables like ‘innodb_log_file_size‘;
+----------------------+----------+
| Variable_name | Value |
+----------------------+----------+
| innodb_log_file_size | 50331648 |
+----------------------+----------+
1 row in set (0.01 sec)

3、提高log file的写性能:将日志文件放到写性能优质的磁盘上

mysql> show global variables like ‘innodb_log_group_home_dir‘;
+---------------------------+-------+
| Variable_name  | Value |
+---------------------------+-------+
| innodb_log_group_home_dir | ./ |
+---------------------------+-------+
1 row in set (0.01 sec)

 注意:

  上面的这三个参数都非动态参数,需要在配置文件/etc/my.cnf中进行修改保存,再重新启动数据库实例才能生效。

MySQL存储写入性能严重抖动分析

标签:事务   查看   左右   文件   ios   files   mysql   my.cnf   通过   

热心网友 时间:2022-05-02 04:56

设立好主键
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中导条约是什么意思 南京的事业单位待遇好吗 condition ...个登陆和注册信息的源代码,最简单的就可以,不需要数据库的那种... 个旧附近的vba编程培训机构哪家比较正规? 个旧附近的.Net培训班? 个旧附近的编程培训班? 个旧附近哪里有编程培训在哪里? 湖口哪里可以学电脑电脑技术哪里可以学习 个旧北大青鸟少儿编程培训学费多少? 外包的外包分类 俄罗斯一点都不担心芯片和光刻机的问题,这是为什么? 手机中间有摄像头是vivo几? 初中数学计算题x^7-x^5= 简单初中数学计算题 4道初中数学计算题 数学计算题(初中) 华为手表GT2不佩戴有来电提醒吗? huaweiwatch没有来电显示 华为手表开了联通的一号双终端后,能打电话,但为什么手表不同时振动?_百度问一问 滴答清单华为手表不通知 华为手表来电不通知? 无限火力玩哪个英雄赖 无限火力哪个英雄跑得快 有没有一种软件可以根据图片识别地方的,推荐下谢谢了 鞍山有没有相亲的qq群或网站,我要找本地的。 我看这相亲网站和qq群竟是瞎扯的,还有什么方面可以找啊 以爱之名十堰相亲qq群到底是不是骗人的 走油红烧肉怎么做才好吃 红烧肉怎么做! 服务外包业务的服务外包业务种类 服务外包可以分为几类? 销售外包的分类 服务外包都有哪些分类 政府外包的政府外包的范围 win7蓝屏修复!代码007E!附有详图一张,求解! 电脑蓝屏0x007E 找不到指定的库(模块)这个问题怎么解决? 一体机出现蓝屏:0X007E咋办?? 电脑蓝屏07e怎么解决 华为双卡手机如何切换打电话 斯里兰卡有什么好玩的地方,斯里兰卡旅游攻略 泰国和斯里兰卡哪好玩 斯里兰卡好玩不? 斯里兰卡玩多少天合适,费用大概多少 斯里兰卡和泰国哪个更好玩更省钱或者推荐一下 有哪些泰国旅游攻略以及注意事项? 我新买的小米6x为什么开机会震动 小米6x密码开锁振动怎么关闭? 为什么小米手机开机时会振动? 小米手机开关机震动如何取消