MySQL8.0与MySQL5.7 OLTP 性能测试对比

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 版本:

[[email protected] jsunicom]# sysbench --version

sysbench 1.1.0

测试数据

  1. 读写模式

 

MySQL8.0与MySQL5.7 OLTP 性能测试对比

 

MySQL8.0与MySQL5.7 OLTP 性能测试对比

  1. 只读模式

MySQL8.0与MySQL5.7 OLTP 性能测试对比

 

MySQL8.0与MySQL5.7 OLTP 性能测试对比

  1. 只写模式

MySQL8.0与MySQL5.7 OLTP 性能测试对比

 

MySQL8.0与MySQL5.7 OLTP 性能测试对比

 

测试下来发现MySQL8.0性能还没MySQL5.7 性能好,不知道其他的小伙伴测试结果是否有不一致的,欢迎沟通交流!