MySQL默认Replication如何搭建异步复制
admin
2023-04-28 08:42:58
0

本文主要给大家介绍MySQL默认Replication如何搭建异步复制,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL默认Replication如何搭建异步复制吧。  

1.背景知识

Asynchronous replication 

the master writes events to its binary log and slaves request them when they are ready. There is no guarantee that any event will ever reach any slave.

--主库只管把events写入binlog中,不管从库有没有收到。


Fully synchronous replication 

when a master commits a transaction, all slaves also will have committed the transaction before the master returns to the session that performed the transaction. The drawback of this is that there might be a lot of delay to complete a transaction.

--主库提交一个事物,需要等待所有从库先提交才能返回结果,执行这个事物。这样会造成一个事物延时。


Semisynchronous replication 

falls between asynchronous and fully synchronous replication. The master waits only until at least one slave has received and logged the events. It does not wait for all slaves to acknowledge receipt, and it requires only receipt, not that the events have been fully executed and committed on the slave side.

--介于异步复制和全复制之间,主库仅仅只要等待至少一个从库收到和记录events。它不需要等待所有的从库告诉它收到events,也不需要从库执行和提交事物,从库只是收到events就会告诉主库,这样主库就可以提前提交事物了。

MySQL默认Replication如何搭建异步复制

此外,半同步也分两种,有参数rpl_semi_sync_master_wait_point控制,这里我就不多做解释了,我们使用默认设置after_sync,这种数据零丢失

AFTER_SYNC (the default): The master writes each transaction to its binary log and the slave, and syncs the binary log to disk. The master waits for slave acknowledgment of transaction receipt after the sync. Upon receiving acknowledgment, the master commits the transaction to the storage engine and returns a result to the client, which then can proceed.


AFTER_COMMIT: The master writes each transaction to its binary log and the slave, syncs the binary log, and commits the transaction to the storage engine. The master waits for slave acknowledgment of transaction receipt after the commit. Upon receiving acknowledgment, the master returns a result to the client, which then can proceed.


2.测试环境


RoleHostnameIPCPUMemoryMySQL Version
TPCCsht-sgmhadoopcm-01172.16.101.542Core8GNO
mastersht-sgmhadoopdn-01172.16.101.582Core6G5.7.21
slave1sht-sgmhadoopdn-02172.16.101.592Core6G5.7.21
slave2sht-sgmhadoopdn-03172.16.101.602Core6G5.7.21


一个master,slave1和slave2都是master的直接从库。

分两种情况测试:

(1)当slave1和slave2都是异步复制的时候

(2)当slave1是半同步复制,slave2是异步复制的时候


3.压力测试


使用TPCC压力测试软件,比较TPS判断异步和半同步复制的性能差异到底有多大。

具体如何测试,可以参考之前的博客:MySQL压测--TPCC安装,测试


  • 通过TPCC测试获得的数据库TpmC数据

Thread CountAsynchronousSemisynchronous
41145.9001081.133
81966.6331687.933
163202.3332538.233
324363.5333302.167
645112.9003638.667
1285257.2673738.100
2565199.7333823.833
5124753.7003538.633
10243268.6332769.667
15362294.0002215.733


  • 绘制折线图像

MySQL默认Replication如何搭建异步复制

4.总结


从本测试结果可以看出:

  • 无论是半同步复制还是异步复制,数据库的TpmC刚开始随着并发线程的增加而增加,到达200个左右,TpmC开始逐渐下降;

  • 当线程数在16-1024左右之间,异步复制的TpmC明显比半同步的大很多,相差大概1000-2000左右,所以半同步相比异步性能是要下降很多;

  • 如果你的数据库并发并不是很多,又对数据安全要求比较高,可以优先考虑使用半同步复制;

看完以上关于MySQL默认Replication如何搭建异步复制,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...