介绍
binlog_cache_size 是在事务处理期间用于保存binlog的内存大小, 可以当作是事务的大小. 每个会话独享.
默认是32KB, 取值是4KB的整数倍....但连接数多了之后, 占用的内存还是不少的, 但设置太小了的话, 又会使用到磁盘, 对性能又有影响....如果一直是0, 或者很小的话, 可以考虑下调 binlog_cache_size 的值.
设置为多少合适呢?
我们可以解析binlog得到事务的大小. 然后取能容纳99.9%的事务的大小即可....对于个别大事务, 是不需要考虑的.
演示
本脚本使用python编写的, 无依赖包, 支持Python2和python3. 直接执行即可. 后面跟上要解析的binlog文件....以节省更多的内存.
取值要求是满足99.9%的业务, 但对于性能要求不高的任务, 比如一些定时更新之类的任务, 则可以不用考虑进去.