mysql8.0与mysql7.0_MySQL 5.7 vs 8.0,哪个性能更牛?

测试mysql5.7和mysql8.0分别在读写,选定,只写模式下不同并发时的性能(tps,qps)

最早测试使用版本为mysql5.7.22和mysql8.0.15

sysbench测试前先重启mysql服务,并清除os的缓存(避免多次测试时命中缓存)

每次进行测试都是新生成测试数据后再进行mysql5.7和mysql8.0的测试

每次测试时保证mysql5.7和mysql8.0的配置参数一致

环境

机器cat / etc / redhat-release | xargs echo'版本'&& dmidecode -s系统产品名称| xargs echo'是否虚拟化'&& cat / proc / cpuinfo | grep“ processor” | wc -l | xargs echo'cpu核数'版本CentOS Linux版本7.5.1804(核心)是否虚拟化KVM cpu核数4

myql5.7.225.7.22-log

innodb_buffer_pool_size 128M

innodb_log_buffer_size  64M

innodb_log_file_size    48M

binlog_format   ROW

log_bin ON

transaction_isolation   REPEATABLE-READ

mysql8.0.158.0.15

innodb_buffer_pool_size 128M

innodb_log_buffer_size  64M

innodb_log_file_size    48M

binlog_format   ROW

log_bin ON

transaction_isolation   REPEATABLE-READ

系统平台sysbench -V

sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)

测试在不同的持久化策略下(binlog,重做日志持久化)mysql5.7和mysql8.0在读写模式,引用模式,只写模式(oltp_read_write,oltp_read_only,oltp_write_only)下的性能表现

sysbench测试时间为60s,测试的表数量为20

测试分别在双1模式(安全性)和0 2模式(高级)下进行

参数任选值意味着sync_binlog0binlog刷盘持久化由操作系统完成,性能好,存在丢失binlog的风险

sync_binlog1个事务提交后刷盘持久化,最安全

sync_binlogñ在每N个事务提交后进行刷盘持久化

innodb_flush_log_at_trx_commit0每秒钟写redo log并刷盘持久化

innodb_flush_log_at_trx_commit1个事务提交后写redo log并刷盘持久化,最安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值