binlog写入机制
    问题写入磁盘慢 用binlog cache加速写入
    binlog 的写入逻辑比较简单:事务执行过程中,先把日志写到 binlog cache,事务提交的时候,再把 binlog cache 写到 binlog 文件中

    sync_binlog 说明
    binlog cache =>write 写入=>系统pagecache落盘由操作系统决定
    binlog cache =>fsync写入=>落盘

    write,指的就是指把日志写入到文件系统的 page cache,并没有把数据持久化到磁盘,所以速度比较快。
    fsync,才是将数据持久化到磁盘的操作。一般情况下,我们认为 fsync 才占磁盘的 IOPS。
    write 和 fsync 的时机,是由参数 sync_binlog 控制的:
    (1)sync_binlog=0 的时候,表示每次提交事务都只 write,不 fsync;
    (2)sync_binlog=1 的时候,表示每次提交事务都会执行 fsync;
    (3)sync_binlog=N(N>1) 的时候,表示每次提交事务都 write,但累积 N 个事务后才 fsync。

    总结
    sync_binlog 可容忍crash丢失0 一般500 1000

    innodb_flush_log_at_trx_commit
    redolog刷盘
    0 表示 redolog cache每秒周期写入日志并强制刷盘
    1 每次事务提交写入日志并强制刷盘
    2 每次事务提交写入文件系统redolog 但是不会进行flush 磁盘
    总结
    0 有秒内丢失
    1 每次刷盘性能不高
    2 linux crash 丢失