MySQL8.0出来已经有很长时间了,目前最新版本是MySQL8.0.20 ,那么MySQL8.0到底比MySQL5.7 性能有多大的提升呢,今天就做了一组压力测试来实际测试一下。为了使结果更具有说服性,测试环境是完全一样,具体测试结果如下:
测试内容
- 测试mysql5.7和mysql8.0 分别在读写、只读、只写模式((oltp_read_write,oltp_read_only,oltp_write_only))下不同并发时的性能(tps,qps)
测试环境
- 测试使用版本分别为mysql8.0.20和mysql5.7.30
- Sysbench测试前先重启mysql服务,并清空OS的cache(避免多次测试时命中缓存)
- 每次进行测试都是新生成测试数据后再进行mysql8.0和mysql5.7的测试
- 每次测试时保证mysql8.0和mysql5.7参数一致
- sysbench 测试数据: --table-size=2000000 --tables=20 --time=600
系统环境
- 操作系统都是CentOS Linux release 7.4.1708 (Core),内存32G
- 主要配置参数都是:
innodb_buffer_pool_size 8GB
innodb_log_buffer_size 16M
innodb_log_file_size 256M
innodb_flush_log_at_trx_commit 1
sync_binlog 1
binlog_format ROW
log_bin ON
transaction_isolation REPEATABLE-READ
- sysbench 版本:
[root@cpe-172-100-1-35 jsunicom]# sysbench --version
sysbench 1.1.0
测试数据
- 读写模式
- 只读模式
- 只写模式
测试下来发现MySQL8.0性能还没MySQL5.7 性能好,不知道其他的小伙伴测试结果是否有不一致的,欢迎沟通交流!