前言:
搭配RabbitMQ做数据并发插入压测时,发现mysql8.0的速度比5.7版本的还要慢,插入一条5字段的数据平均花了80ms,不能满足业务并发需要,因此简单研究了一下mysql8.0性能如此低下的原因
结论:
经过google和自测,发现8.0性能较低的原因是由于默认开启的配置中,有比较耗性能的配置,现简单列出,以及优化配置方案
修改mysql配置文件
windowx: my.ini
linux: /etc/my.cnf
1)
innodb_flush_log_at_trx_commit=2
此配置用于mysql的操作日志先存入缓存再写磁盘,从而提高mysql的性能,但有一定的安全性能
2)
sync_binlog = 2000
此配置用于修改写多少次二进制日志后再写入磁盘的操作,从而提高mysql的性能,但有一定的安全性能
3)8.0默认开启了 log-bin 功能,在确定用不到该功能的前提下,只要在配置中关闭即可
[mysqld]
skip-log-bin