mysql参数优化:判断binlog cache size设置是否合理

binlog_cache是二进制日志缓冲,二进制日志写操作时,从binlog_cache写入到binlog文件,binlog_cache默认大小为32K。

binlog cache占用内存数= connections * binlog_cache,可见其占用内存跟SQL连接数及binlog_cache设置值相关。

connection过高,binlog_cache设置过大会导致占用内存过多,反之过少时会引发mysql使用临时文件来写binlog_cache。



假设:binlog_cache_size = 64K

一、查看binlog cache占用

[root@monseng] # mysql root  -p

mysql> show variables like '%binlog_cache_size%';
+-----------------------+----------------------+
| Variable_name | Value |
+-----------------------+----------------------+
| binlog_cache_size | 65536 |
| max_binlog_cache_size | 18446744073709547520 |
+-----------------------+----------------------+
注:以上表示binlog_cache_size占用为65536

mysql> show global status like '%binlog_cache%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
+-----------------------+-------+

注:

binlog_cache_use:内存中使用binlog_cache次数

binlog_cache_disk_use:使用临时文件(即磁盘)写二进制日志次数

从以上两表可以看出,mysql没有使用到次临时文件来写入binlog_cache,说明设置64K的binlog_cache_size对当前mysql来说已经够用了。或考虑根据系统实际的内存压力来减少或保持binlog_cache_size参数。反之,如果Binlog_cache_disk_use值大小0则表示binlog_cache_size需要增加。

#现在前往

精选留言

mysql,参数,优化,判断
sample
2020-12-25
写留言
签到
投稿
QQ咨询
返回顶部