当前位置:Gxlcms > 数据库问题 > 缓解MySQL写入压力和主从延迟的尝试

缓解MySQL写入压力和主从延迟的尝试

时间:2021-07-01 10:21:17 帮助过:2人阅读

,以平衡IO资源使用.

技术分享

MySQL的datadir在/dbdata挂载点,
police_im_user_mac数据库通过软链接,实际指向/data的挂载点.
这样,会将一部分的随机IO分散到/data挂载点,减轻/dbdata挂载点的压力,并且减小了CPU的等待

技术分享


 

2第二个尝试,一个库一个表

因为MySQL 5.6的多线程复制是基于数据库的.
而我们每个表的写入压力都很大,所以修改了结构,每个数据库只有一个表.然后启动多线程复制(实际上就是多个SQL线程),并且设置传输压缩

slave_compressed_protocol=on (Master,Slave都需要配置)slave_parallel_workers=10


 

3第三个尝试,修改参数

innodb_flush_log_at_trx_commit = 0
innodb_support_xa=0
sync_binlog=0
增加innodb_buffer_pool_size
将innodb_max_dirty_pages_pct设置的更大
将redolog file size设置的更大


经过这些修改,写入压力和主从延迟有了很大的缓解.
但是启动slave_parallel_workers,一旦出现SQL线程异常导致的复制中断,恢复之后,可能会出现1062号错误

技术分享

 

这是因为多SQL线程的线程同步机制可能有问题,一旦复制中断,现象上看,等同于Slave异常关机.

 

缓解MySQL写入压力和主从延迟的尝试

标签:

人气教程排行