MySQL-Transfer2.3发布
Transfer 2.3发布,下载地址
此版本除了升级based版本外
*优化了无索引表的同步性能
*优化了slave模式下超大事务内存消耗问题
*Transfer模式相关的功能改动较多
*修复transfer模式下超大事务可能同步失败的bug
由于有两个公司的同学在使用5.5.31,因此该版本的改动也同时backport到5.5.31,下载地址
版本说明
1、 基于版本 Percona 5.5.34,简单用法是先安装好官方或PS版5534,然后替换为transfer的mysqld
若使用的是slave模式,直接替换无需修改参数。
FAQ:若直接替换后启动如下的错误 "Error message file '/mysql/share/english/errmsg.sys' had only ...",则你需要下载此文件 替换到报错位置。
2、 新增参数
transfer_parallel_on
说明:1) on—多线程复制, off—单线程 默认值on
2) 只能在stop slave状态下修改
transfer_mode
说明:1)on – transfer模式, off—slave模式 默认值 off
2) 只读参数
transfer_slave_*
说明:1) 这四个参数说明见2.2版本的说明,仅在transfer模式下有效
2) 只能在stop slave状态下修改
3)transfer_slave_password参数无论设置为何值,都显示为****
============================
历史版本改动
2.2
新增观察参数 Com_ts_*
在压测过程中,可使用如下命令观察
mysqladmin --socket=run/mysql.sock -uroot extended-status --relative --sleep=1 | grep Com_ts
得到如下图的示例
说明:
1) Com_ts_serial_number : 串行执行的数目。表示未使用上多线程的事务。正常应该为0,出现非0最可能的因素是出现了statement格式的语句,比如DDL,或者主库的binlog format错误。
2) Com_ts_thread_0 :第0号线程的执行事务数。正常应该为0。出现非0的最可能因素是数据库中存在无主键和unique key的表。
3) Com_ts_thread_N :第1到15号线程为正常的transfer worker。
上图是master做随机插入。前面几个线程更加集中是合理的。需要关注的是前面几个线程比较均匀,就达到了多线程同步的目的。
3、 新增配置参数 transfer_verbos
说明:此参数默认值为OFF。上面说到Com_ts_serial_number正常应为0。若非0,可以通过将transfer_verbos改为ON,会在errlog中输出导致串行执行的语句。
http://dinglin.iteye.com/blog/1983541