后台测试mysql5.7和mysql8.0分别在不同的并发性能(tps,qps)的读写,选择,只写模式下进行测试,最早的测试使用版本是mysql5.7.22和mysql8.0.15,重新启动mysql服务在sysbench测试之前,并在每次执行测试时清除os缓存(以避免在多个测试期间访问缓存),在执行mysql5.7和mysql8.0测试以及mysql5之前生成新的测试数据。每次测试期间保证7和mysql8.0一致的配置参数环境机器cat / etc / redhat-release | xargsecho' version'& dmidecode-s系统产品名称| xargsecho'是否虚拟化的&& cat / proc / cpuinfo | grep“处理器” | wc-l | Xargsecho& #39; cpu审核与#39;版本CentOSLinux版1804年5月7日(核心)是否在不同的持久性策略的虚拟化KVMcpu审计4myql5.7.225.7.22-loginnodb_buffer_pool_size128Minnodb_log_buffer_size64Minnodb_log_file_size48Mbinlog_formatROWlog_binONtransaction_isolationREPEATABLE-READmysql8.0.158.0.15innodb_buffer_pool_size128Minnodb_log_buffer_size64Minnodb_log_file_size48Mbinlog_formatROWlog_binONtransaction_isolationREPEATABLE阅读平台sysbench的-Vsysbench1.1.0(usingbundledLuaJIT2.1.0-β3)测试(二进制日志,重做日志持久性)mysql5.7和mysql8.0在读写模式,引用模式,只写模式(oltp_read_write,oltp_read_only),Oltp_write_only)sysbench测试时间为60s,并且测试的表数为20。参数为在双重1模式(安全)和02模式(高级)下进行了测试。可选值表示sync_binlog0binlog的闪烁持久性由系统操作,系统已完成,性能良好,存在丢失binlog sync_binlog 1事务的风险刷新后持久性,每提交N个事务后最安全的sync_binlogñ刷新持久性innodb_flush_log_at_trx_commit 0每秒写入重做日志并刷新持久性innodb_flush_log_at_trx_commit提交1个事务后,写入重做日志并刷新持久性事务,最安全的innodb_flush_log_at之后写入重做日志,SHOWGLOBALVARIABLESWmit_log& log#& 39; ;#39;); + -------------- ------------------ + ------- + | Variable_name |值| + ----------------- --------------- + ------- + | innodb_flush_log_at_trx_commit | 1 | | sync_binlog | 1 | + --------------- ----------------- + ------- + mysql5.7和mysql8.0在读写模式下Double 1配置,在read-wri中te模式,mysql5 .7.22和mysql8.0.15tps,qps性能相似,当120个线程并发时mysql8.0.15的性能下降,在预期模式下mysql5.7和mysql8.0的性能是双1配置,在预期模式下,mysql5.7.22的tps和qps大约比mysql8.0.15好1/3;在并发线程数增加之后,tps和qps不会增加,但是存在下降趋势。在只写模式下,mysql5.7和mysql8.0的性能是double 1配置,在只写模式下,并发转换数增加,并且mysql5.7.22的性能比mysql8.0.15好约1/4。在SHOWGLOBALVARIABLESWHEREVariable_nameIN(' sync_binlog',' innodb_flush_log_at_trx_commit')中; + -------------------------------- + ------- + |变量名称|值| +- ------------------------------ + ------- + | innodb_flush_log_at_trx_commit | 2 || sync_binlog | 0 | + -------------------------------- + -------+ mysql5.7和mysql8.0的性能在读写模式02配置下,在读写模式下,当并发数较低时,mysql5.7.22的性能优于mysql8.0.15;当并发数较高时,mysql8.0.15的性能较好。当80个线程的并发以上时,性能开始下降。 mysql5.7和mysql8.0在预期模式02配置下的性能。在预期模式下,mysql5.7.22的性能比mysql8.0.15好约1/3;随着转换并发数量的增加,性能并未提高。相反,存在下降趋势。 mysql5.7和mysql8.0在只写模式02配置下的性能。在只写模式下,mysql5.7.22的tps顶点相对较大; mysql5.7.22 Qps优于mysql8.0.15约1/3。总体而言,在读写模式,扩展模式和只写模式下,mysql5.7.22的性能与mysql8.0.15相同。随着并行数量的增加,性能将不会改变。随着它的增加,将会下降。该测试结果是在非常低的配置下执行的。这并不意味着需要将sysbench设置为--db-ps-mode = disable来禁用准备好的语句,否则将长时间报告并发测试线程。出现以下错误。严重的:mysql_stmt_prepa