当MySQL 8.0发布时,官方爆出了8.0性能比5.7快两倍的消息,最近正好有机会亲自测试一下MySQL 8.0 vs 5.7 基准测试性能对比_javaMySQL 8.0 vs 5.7 基准测试性能对比_javaMySQL 8.0 vs 5.7 基准测试性能对比_java


MySQL 8.0 vs 5.7 基准测试性能对比_java_04



本次测试基于MySQL分支Percona MySQL 5.7.19和Percona MySQL 8.0.15。测试工具为sysbench+nmon



测试环境:


配置
用途操作系统
4C/8G/50G SSDMySQL servercentos7.3
2C/4G
sysbench client
rhel6.3


测试前提概要:


  • clustertype:single instance

  • data count:5000w

  • data size:12G

  • sysbench time:5min

  • sysbench thread:4,8,16,32,64,128,256

  • sysbench mode:read write,read only,write only

    (每次切换模式均重新灌数据,并重启数据库,清空缓存)

  • MySQL部分参数配置:

    (5.7与8.0参数配置相同,除开已废弃/新增的参数)

  • innodb_flush_log_at_trx_commit=1

  • sync_binlog=1

  • innodb_buffer_pool_size=4G

  • innodb_buffer_pool_instances=8

  • thread_pool_size=32

  • thread_pool_stall_limit=10


测试结果:

读写模式


MySQL 8.0 vs 5.7 基准测试性能对比_java_05

MySQL 8.0 vs 5.7 基准测试性能对比_java_06


只读模式

MySQL 8.0 vs 5.7 基准测试性能对比_java_07

MySQL 8.0 vs 5.7 基准测试性能对比_java_08


只写模式

MySQL 8.0 vs 5.7 基准测试性能对比_java_09

MySQL 8.0 vs 5.7 基准测试性能对比_java_10



测试分析

根据本次测试结果,在读写混合模式中,相同并发下8.0性能略低于5.7。在只读模式中,相同并发下,8.0性能明显优于5.7。在纯写入模式中,相同并发下,8.0性能低于5.7。
       以上测试结果仅代表个人测试结果,不代表权威!Percona MySQL 8.0在写入模式下的性能差异问题以及是否有优化空间待后续研究~~~