免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 18301 | 回复: 16
打印 上一主题 下一主题

mysql主从同步延迟问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-28 12:23 |只看该作者 |倒序浏览
搭了一个mysql的主从集群,1个master+3个slave,4台服务器之间用千兆以太网连接,网站的访问量每天也就几万人吧。现在遇到一个棘手的问题,就是mysql主从之间同步延迟比较大,用户发了帖子之后看不到内容,导致重复法帖子。写了一个脚本检测了一下,同步延迟最大到了150s左右。在slave的设置中,master-connect-retry=3, slave-net-timeout=10。

请问各位高人:

1)你们的系统同步延迟大概多大?

2)有没有办法把同步延迟缩小到几秒之内?

3)同步延迟过大可能原因是网络故障或者从服务器处理不过来,有什么办法可以检测呢?

论坛徽章:
0
2 [报告]
发表于 2006-11-28 13:02 |只看该作者
基于局域网的master/slave机制在通常情况下已经可以满足‘实时’备份的要求了。如果延迟比较大,就先确认以下几个因素:
1. 网络延迟
2. master负载
3. slave负载
一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器,只作为备份用,不进行其他任何操作,就能相对最大限度地达到‘实时’的要求了

参见这里的讨论 http://imysql.cn/?q=node/176

论坛徽章:
0
3 [报告]
发表于 2006-11-28 14:06 |只看该作者
如何检测master/slave的负载呢?

论坛徽章:
0
4 [报告]
发表于 2006-11-28 14:50 |只看该作者
vmstat,top,free n多工具啊,你的业务量比较大,导致slave或master的负载比较高,因此延迟比较大,需要做一下优化

论坛徽章:
0
5 [报告]
发表于 2006-11-28 15:04 |只看该作者
master的负载并不重
top - 15:01:22 up 60 days, 23:02,  3 users,  load average: 0.69, 0.77, 1.29
Tasks: 165 total,   2 running, 163 sleeping,   0 stopped,   0 zombie
Cpu(s): 13.1% us,  1.5% sy,  0.0% ni, 85.1% id,  0.2% wa,  0.0% hi,  0.0% si
Mem:   4148252k total,  3706644k used,   441608k free,    42644k buffers
Swap:  2047992k total,    79004k used,  1968988k free,  1366912k cached

slave的也不高
top - 15:05:48 up 39 days, 21:00,  1 user,  load average: 1.27, 1.89, 2.94
Tasks: 196 total,   1 running, 194 sleeping,   0 stopped,   1 zombie
Cpu(s): 32.2% us,  8.4% sy,  0.0% ni, 54.5% id,  5.0% wa,  0.0% hi,  0.0% si
Mem:   4139152k total,  2122676k used,  2016476k free,    17120k buffers
Swap:  2048276k total,    32020k used,  2016256k free,  1270116k cached

我把master-connect-retry和slave-net-timeout两个参数调整小之后,延迟有一定的改善,是否可以认为是网络的问题?但局域网网络故障可能性并不大啊

论坛徽章:
0
6 [报告]
发表于 2006-11-28 15:55 |只看该作者
这么低的负载出现这么大的延迟,看来网络的原因居多,你是用内网ip连接的吗

论坛徽章:
0
7 [报告]
发表于 2006-11-28 19:11 |只看该作者
原因找出来了,还是系统负载的问题,从服务器的负载过重了

论坛徽章:
0
8 [报告]
发表于 2006-11-29 18:13 |只看该作者
我所维护的网站采用集群系统,前端用lvs进行负载平衡,后端由3台服务器组成,服务器之间用千兆以太网连接,采用了内网ip。每台服务器上运行LAMP,而且session采用nfs来实现共享,cpu是AMD 2.5Gx2,内存为4G,用户数目大概每天20万左右吧。现在发现高峰时期cpu负载比较重,基本可以认定是从服务器cpu负载太重导致mysql同步延迟较大。想请教一下各位网管同仁:
1、LAMP放在一台机器上好还是mysql单独放较好?
2、现在大网站的基本配置是什么?本人刚开始接手网管这项工作,对这方面的信息比较匮乏,希望能够得到一些详细的信息,例如访问量多大,机器的硬件配置,软件配置等等。

[ 本帖最后由 agentlife 于 2006-11-29 18:24 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2006-11-29 18:17 |只看该作者
我现在想跟领导提增加服务器,现在缺乏其它网站的信息做比较,请各位不吝赐教

论坛徽章:
0
10 [报告]
发表于 2006-11-29 21:09 |只看该作者
db最好是单独的服务器,cpu和内存都比较大,硬盘比较好
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP