主从同步数据超级慢,200M的binlog文件差不多要一个多小时才能同步完。什么原因。

lanbaibai 2013-05-30 09:52:53
我有一个主从环境,从机的配置信息如下:
我操作系统是ubuntu12.04
数据库mysql.5.1.57
机器是hp dl580g7(新机器)
主库的一个binlog日志大小是200M。
发现从机同步日志特别慢,同步一个binlog大约花一个多小时。
而我在一台虚拟机同样的测试,my.cnf配置一样,虚拟机只需要几分钟就同步好了。
我看了Read_Master_Log_Pos:这块读取比较正常,就是Exec_Master_Log_Pos:太慢了。
什么原因,我怎么排查,公司的系统工程师排查了说IO没问题。
...全文
690 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjdxs 2013-06-14
  • 打赏
  • 举报
回复
硬盘问题,换块硬盘就好了 很多硬盘你用测速软件测试正常,但是它有坏道的话运行起来照样慢
lanbaibai 2013-06-06
  • 打赏
  • 举报
回复
引用 7 楼 rucypli 的回复:
[quote=引用 5 楼 lanbaibai 的回复:] 我觉得问题应该不在这吧,我都是开启了同步写,相比怎么会这么慢,我这个同步慢是一直慢,只要主机那边有数据批量更新,从机这同步慢的一塌糊涂。
可以用FIO分别测试下你的机器和虚拟机的iops[/quote] 从我观察的结果来看,从机写入relay log还是挺快的,没有延迟,但就是Slave_SQL_Running 这个线程执行的慢,也不知道是什么原因,我用hdparm和dd 测试过io性能,是比别的机器差点,但是差别不大。 而且我在从机执行change master同步主机数据前,执行mysql -uroot -p<all.sql导入数据,在正常机器5分钟执行完毕,在这个有问题的从机执行也只花了7分钟,而且为了做测试,我让同事把这台没做RAID,只有单块硬盘。并且连续换了ubuntu8.04和FreeBSD 9.0试过,都是一样的结果。
yumenfeiyu945 2013-06-06
  • 打赏
  • 举报
回复
那是你的sql线程执行慢,查看下这段binlog中是不是有很多耗时的sql
rucypli 2013-05-30
  • 打赏
  • 举报
回复
引用 6 楼 lanbaibai 的回复:
而且就算开启innodb_flush_log_at_trx_commit,性能也不能相差几十倍吧。
性能可以查百倍
rucypli 2013-05-30
  • 打赏
  • 举报
回复
引用 5 楼 lanbaibai 的回复:
我觉得问题应该不在这吧,我都是开启了同步写,相比怎么会这么慢,我这个同步慢是一直慢,只要主机那边有数据批量更新,从机这同步慢的一塌糊涂。
可以用FIO分别测试下你的机器和虚拟机的iops
lanbaibai 2013-05-30
  • 打赏
  • 举报
回复
而且就算开启innodb_flush_log_at_trx_commit,性能也不能相差几十倍吧。
lanbaibai 2013-05-30
  • 打赏
  • 举报
回复
我觉得问题应该不在这吧,我都是开启了同步写,相比怎么会这么慢,我这个同步慢是一直慢,只要主机那边有数据批量更新,从机这同步慢的一塌糊涂。
lanbaibai 2013-05-30
  • 打赏
  • 举报
回复
+--------------------------------+-------+ | Variable_name | Value | +--------------------------------+-------+ | innodb_flush_log_at_trx_commit | 1 | +--------------------------------+-------
rucypli 2013-05-30
  • 打赏
  • 举报
回复
mysql> show variables like 'innodb_flush_log_at_trx_commit'; +--------------------------------+-------+ | Variable_name | Value | +--------------------------------+-------+ | innodb_flush_log_at_trx_commit | 0 | +--------------------------------+-------+ 看下这个参数是否是0
lanbaibai 2013-05-30
  • 打赏
  • 举报
回复
和insert,update,delete没关系,他是一直慢,我上面提过,同样的东西(包括同样的binlog日志)在一个普通的虚拟机几分钟就执行完了。
rucypli 2013-05-30
  • 打赏
  • 举报
回复
说明你同步执行的update insert delete语句很慢 看看慢查询里面是哪些具体的sql 拿出来优化下

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧