1,最好使用内网或者专线链路传输binlog数据 (千兆网卡、还不够的话,bounding 技术,扩展带宽) 在my.cnf中强制使用内网ip传输数据bind-address=ip
2,将二进制保存在独立的存储介质上(提升I/O)
3,买多核CPU,使用多线程方式传输二进制日志 ()
4,如果二进制日志不是row格式,则尽可能不要再insert 或者update的时候使用select ,statement模式会给master传输二进制时候造成大的压力
5,想尽办法减少master的写I/O(memcached)(既要写自己的二进制日志,也要负责读自己的二进制日志写给slave服务器),master上的I.O越低,越能快的将binlog传输给slave、
加memcached 缓存层,数据库上次做个缓冲池放到内存中,由memcached管理,周期性的将数据同步给数据库,把大并发的写操作,合并成小量的写操作。以此减少master写I/O 架构设计1:
主从服务器可以使用不同的存储引擎,master上使用innodb,利用事务,行锁等高级锁特性,slave上使用MYISAM,读性能更好,节省内存,容易备份。还可以使用不同的数据类型,例如 master上用varchar,slave上用char。不仅节省空间,还可以使用myisam的静态表特性。
M-S--Muti SLAVE方案中,中继slave还可以使用blackhole存储引擎,blackhole存储引擎值记录日志,不写数据,此特性可以让中继日志性能提升很多,但是,这种方案不支持GTIDs模式下的 replication,因为blackhole只能搭配statement格式的二进制日志使用,row和mixed格式都不支持。
在读写分离中,主存服务器采用不同索引采用不同方案,master可以只保留主键或者唯一索引等保证数据关系的索引,而slave针对查询做索引优化、 架构设计2: 让更新频繁,且需要实时的数据查询放到master上,再通过持久化session,让发生修改的用户先看到结果,其他人等待同步完后同步replication, 如果开发做不到,用下面的memcached,在数据之前加上memcached
让用户对数据库的更改先保存到memcached中,memcached是一种内存中的存储引擎(独立第三方技术),由于内存的读写性能很高 ,可以把读写特别频繁的更新数据保存到这里,每隔5分钟 ,再把数据同步到master,对于另一个客户端来说,让他优先到master找数据,即在master上的memcached中读数据,在读slave。这样可以优先将更改的数据由内存返回给用户,这样降低了 降低硬盘IO,对于那些已经同步后数据把他分离到slave,这样master就可以转们做有关于的数据更新的写操作,完全分离了master的读。 动态缓存是讲用户请求比较频繁的动态数据缓存到memcached中,使得后续的访问用户可以直接从memcached中取数据 replication容量:
是指:replication延迟程度、
将replication暂停一段时间(M),再重新开启,并观察slave多久可以达到于master一致(N)
replication容量=N:M
建议保持容量在3倍以上,即1:3 (1小时的M,20分钟的N) 多线程传输二进制日志:
mysql5.6开始支持多线程方式传输二进制日志
只能工作在GTIDs 模式下
只有对不同的库执行的操作才能采用多线程传输。同一个库不同表的操作只能单独用单进程传输。
my.cnf
[mysqld]
slave-parallel-workers=N 默认是0 表示不开启 线程数
N 根据CPU的核数来决定,几核就写几,和数据库的数量一一对应,几个库就是几个线程来传输二进制日志 ,qps上万的话,多线程传输会有很明显的性能提升

如何提升mysql replication的性能&多线程传输二进制日志的更多相关文章

  1. mysql dba系统学习(6)二进制日志binlog之二

    MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement.总结一下这三种格式日志的优缺点.MySQL R ...

  2. MySQL Replication 主从复制全方位解决方案

    1.1 主从复制基础概念 在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制日志相关信息参考:http://www.cnblogs.com ...

  3. mysql 索引优化 性能调优 锁

    1 检查mysql 是否安装 rpm -qa|grep -i mysql 2 ntsysv 查看和设置开机启动列表 3 mysql 在 centos 上默认 的数据目录是 /var/lib/mysql ...

  4. MySQL二进制日志总结

    二进制日志简单介绍 MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句.二进制日志(binary log)中记录了对MySQL数据 ...

  5. mysql学习------二进制日志管理

    MySQL二进制日志(Binary Log)   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库( ...

  6. Mysql binlog二进制日志

    Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的实际原sql语句都会被记录在binlog中. 优点:不需要记录每一 ...

  7. mysql数据安全之利用二进制日志mysqlbinlog备份数据

    mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...

  8. 实战:mysql检查物理磁盘中的二进制日志文件是否有丢失

    版权声明:日常札记,乐于分享 https://blog.csdn.net/yangzhawen/article/details/32103555 场景:有时候由于磁盘损坏或人为原因错误删除了磁盘中的二 ...

  9. mysql二进制日志的开启和使用

    二进制日志(BINLOG)记录了所有的ddl和dml语句,但不包括数据查询语句.语句以“事件”的形式保存,描述数据更改过程. 环境:win8   mysql5.6.23 1.mysql开启二进制日志 ...

随机推荐

  1. Sprint report

    Sprint report 一.需求分析:随着在校大学生人数的不断增加,许多高校出现了许多个校区并存的局面,并且校区之间的地理位置跨度非常大,给高校选课带来了很大的不方便,数据处理手工操作,工作量大, ...

  2. 冒泡排序的C、C++实现

    一.冒泡排序 冒泡排序就是重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如数字从大到小.首字母从A到Z)错误就把他们交换过来.走访元素的工作是重复地进行直到没有相邻元素需要交换, ...

  3. 【转】Mysql事务,并发问题,锁机制

    转自:http://www.cnblogs.com/fidelQuan/p/4549068.html 1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成 ...

  4. Exchange2010批量删除邮件

    在Exchange2010里若要删除某个用户发出的邮件,可以通过EMC控制台授予管理员“管理完全访问权限”,通过OWA登录到用户邮箱删除.另外,更简便的方法为使用Exchange2010的命令来处理, ...

  5. Java微信二次开发(二)

    第二天,做微信文本消息接口请求与发送 需要导入库:dom4j-1.6.1.jar,xstream-1.3.1.jar 第一步:新建包com.wtz.message.response,新建类BaseMe ...

  6. maven项目编译运行时提示jdk版本过低问题解决方法

    明明使用的是1.8jdk,但是运行项目时提示使用的是java版本是1.5,版本过低. 修改pom.xml,添加如下: <build> <plugins> <plugin& ...

  7. Java之File类详解

    常用操作: File f = new File("C:\\testdata\\filedir\\a\\b\\c"); f.mkdir(); //建立单级目录 f.mkdirs(); ...

  8. bzoj 1798: [Ahoi2009]Seq 维护序列seq (线段树 ,多重标记下放)

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 7773  Solved: 2792[Submit ...

  9. 【刷题】BZOJ 5312 冒险

    Description Kaiser终于成为冒险协会的一员,这次冒险协会派他去冒险,他来到一处古墓,却被大门上的守护神挡住了去路,守护神给出了一个问题, 只有答对了问题才能进入,守护神给出了一个自然数 ...

  10. 【刷题】LOJ 6225 「网络流 24 题」火星探险问题

    题目描述 火星探险队的登陆舱将在火星表面着陆,登陆舱内有多部障碍物探测车. 登陆舱着陆后,探测车将离开登陆舱向先期到达的传送器方向移动. 探测车在移动中还必须采集岩石标本. 每一块岩石标本由最先遇到它 ...