我正在考虑建立mysql db的复制,以便能够在每个分支办事处中有本地从站,而主办事处有主站,以提高分支机构的应用程序性能(显着地)。
数据库本身并不大(<1gb),但我想知道;考虑到200-300个记录更新/分钟上限:复制有多快?(假设,首先,一个5mb的通用dsl连接,如果有必要的话更快
整张表是否成批复制?复制是否按需完成,因为表中的每条记录都被更新(从文档中,我想我看到它是可配置的)吗?
备注:
发布于 2009-06-23 21:54:51
MySQL复制尽可能接近实时,由于磁盘和网络I/O的限制,从服务器向主机打开一个套接字,该套接字保持打开。当一个事务发生在主程序上时,它会被记录在二进制日志中,然后简单地在奴隶上重放(S)。如果主从之间的套接字中断,则在下一次成功连接时为该从属程序重放二进制日志。
多主复制做同样的事情,但在两个方向。
一些基本的计算将帮助您更好地确定您的带宽需求。
Average transaction size * number of slaves * updates/minute = bandwidth needed希望这能有所帮助。
发布于 2009-06-23 21:55:58
MySQL中的复制非常快,可以将数据发送给从服务器(如果(并且只有)网络连接全部启动,并且一切正常运行,则可以更快地在主服务器上运行UPDATE,并切换到另一个窗口在从服务器上运行SELECT。对于常规的小型查询来说,任何DSL类连接都应该是可以的,但是大型的insert/update查询可能需要一小段时间来进行复制,如果出现复制填充(不幸的是,MySQL很容易发生这种情况),重新同步将需要一段时间(再次从主服务器复制整个数据库)。有一些技巧可以限制重新同步对主服务器的影响,比如将MySQL放在LVM上,这样您就可以非常快速地锁定/快照,并将快照内容rsync发送给从服务器,但最终,重新同步将导致失败。
发布于 2009-06-24 02:55:12
从服务器端的复制由两个独立的线程处理。
复制延迟受IO限制,首先是从数据库中的IO应用中继日志中的事务(这可能涉及复杂的SQL查询),其次是由主机上的IO读取它的binlog并将其传输给每个从服务器。
MySQL复制增加了读取查询容量,但并没有提高查询写入性能,这是以IO的速度设置的,可以同时刷新主日志和从日志。
https://serverfault.com/questions/30605
复制相似问题