MySQL主从同步相关-主从多久的延迟?
这次单独调查一下主从延迟的时间。这里说的主从延迟,并不是指“从库更新性能跟不上主库”, 而是“一个命令从主库更新完成到从库更新完成的延迟时间。
基本流程:
对于每一个连上来的从库,主库都有一个client线程与之对应。
先看主从的基本数据流
1、客户端SQL更新命令
2、主库执行
3、主库写binlog
4、主库client线程读binlog发送给从库的io线程
5、从库io线程写盘(relay-log)
6、从库sql线程读relay-log
7、执行更新。
这里有涉及到两个写盘,主库binlog和从库的relaylog(3、5)。不过不用担心不停扫描文件造成的延迟,因为读文件的线程是在同一个进程内,每次写完都会广播,所以虽然看上去是异步,实际上延迟并不大。
我们主要考察步骤2完成瞬间到7开始执行之前的延时。
实验方法――一级主从
实际应用中主从库机器应该是分开的,这里也讨论这种情况(同机房,不同机器)
可以想象延迟很小,因此在不同机器上输出时间还需要考虑机器之间的时间同步。设计流程如下:
1、机器A上的MySQL S设置为机器B上的MySQL M的从库
2、在A上有一个简单客户端C,向M发起一个insert操作,这个操作会被同步到S。
3、在C执行mysql_real_query返回时输出当前系统微秒时间 t1
4、在S上的引擎回调接口write_row入口处输出当前系统微秒时间 t2
则 t2- t1的值是我们需要的结果。
实验方法――二级主从
项目中担心多个从库连接一个主库,影响主库性能,因此还要在实验二级级联主从的延迟时间。
这种结构下,在第一级从库上增加了一次写盘转发 (sql执行更新后写本地binlog),
实验结果
一级主从 50~100 us
二级主从 1.1~1.2 ms
MySQL主从同步相关-主从多久的延迟?相关推荐
- redis mysql主从同步_Redis主从数据库同步
Redis主从同步原理-SYNC 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以 ...
- mysql 半同步_mysql 主从同步 与 半同步
mysql主从同步复制定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).通过配置文件,可以指 ...
- mysql主从同步 sql_mysql主从同步报错;Slave_SQL_Running: No
今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status ...
- mysql主从同步_utf8_MySQL主从同步
MySQL主从同步 特别提醒: 做主从前最好在数据库尚未创建的时候做,如果已经创建了.可以将原来数据导出,等建立好主从以后在主上面导入即可让数据同步 1.环境 主数据库 IP:10.5.100.15 ...
- [MySQL]-主从同步实战-主从搭建
[MySQL]-主从同步实战 森格 | 2022年12月14日 本文主要为在平时work中遇到的主从同步上的问题的处理,对其进行巩固总结. 一.场景介绍 在一个风和日丽的下午4点半,突然就收到一个 ...
- mysql 主从同步_Mysql主从同步的实现原理
1.什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 2.主从同步有什么好处? 水平扩展数据库的负载能力. 容错,高可用.Failover ...
- mysql主从同步ddl_mysql主从同步
mysql主从同步不生效 这几天尝试搭建下mysql主从同步,用的是内网 1.主库 192.168.1.58 从 192.168.1.220 2.主库my.ini配置如下: server-id = 1 ...
- mysql架构 三级主从同步_MySQL 主从同步架构中你不知道的“坑”
以下操作征对指定不同步库 binlog-format=ROW模式 1 查看主从的binlog模式 mysql> show slave status\G ********************* ...
- linux下mysql主从同步是主从i/o线程显示为no_mysql主从同步IO线程NO
主从同步错误一例 mysql> show slavestatus\G; ***************************1. row *************************** ...
最新文章
- gpio引脚介绍 树莓派3b_如何让LabVIEW程序运行在树莓派3B(此处有坑)
- Alpha冲刺 - (5/10)
- kafka comsumer
- C语言linux getopt_long()函数(命令行解析)(getopt、getopt_long_only)(短选项 -,长选项 --)(option结构体)(optind、optarg变量)
- 【Greenplum代码】记录一次不了解GP数据库编号函数使用方法导致的问题(1次疏忽 + 1次不必要 = 2次弯路)
- C语言实现高斯-赛德尔迭代gauss seidel(附完整源码)
- 网路知识:为什么宽带越用越慢,看完你就明白了
- JVM核心——JVM运行和类加载全过程
- 多路查找树之2-3树的插入原理
- 字符串匹配(二)——逆向思维 BMH
- 为防盗装自动门 不想也会影响生活
- Hive数据导出的三种方式
- php动态增加div,JavaScript动态创建div等元素实例
- web前端炫酷特效-CSS3制作环形星星发光动画
- 生成CFree 5.0 注册码
- 阿里云oos对象存储 上手快速入门
- 解决Keystore was tampered with, or password was incorrect
- python format函数 日期_Python-日期格式化
- matlab控制理论学习
- JDK9-17开发常用的新特性
热门文章
- 空间装扮代码_你多久没进过QQ空间了
- window7 已经分好区的硬盘如何再次分区?
- 在weblogic上配置数据源
- 深入浅出C/C++中的正则表达式库(一)--GNU Regex Library
- 关于 Injection of autowired dependencies failed 错误的解决方法
- zw版【转发·台湾nvp系列Delphi例程】HALCON HistoToThresh1
- Oracle新建用户、角色,授权,建表空间
- url地址中 /等符号的转义处理(转)
- Hexo 简明入门教程(一)
- Linux下Socket网络编程send和recv使用注意事项