MySQL 8.0的第一个发行候选版本(rc)已问世,我很高兴介绍性能方面的若干情况。本文将介绍一种“最简单”的性能,即内存中只读性能。
然而,使用测试工作负载出于以下两个原因:
1)验证MySQL8.0的性能;
2)全面评估Alex开发的“新的”Sysbench(https://github.com/akopytov/sysbench)。
直接说说第二个原因,新的Sysbench主要让人担心的地方是它的LUA开销(前一个版本0.5运行速度不如旧版本0.4,就是由于LUA)——长话短说,我现在可以证实:新的Sysbench运行起来速度与我使用过的最旧、“最轻量级”的Sysbench二进制代码一样快,所以向Alex致敬!
说到MySQL8.0在只读工作负载方面的若干改进,我想提以下几点:
几个“开销”已得到了解决;
当然,最显著的开销与UTF8与有关;
然而,连与latin1有关的函数也得到了一点改进;
但这仅仅涉及“开销”,根本不涉及“可扩展性”;
由于主要的“可扩展性”缺口已经在两年前由MySQL 5.7堵上;-))
所以,这里MySQL 8.0的主要优点将是保留已经获得的性能提升!
(同意,听起来很奇怪,但如果你只要看一下8.0随带的所有新的功能特性:http://mysqlserverteam.com/mysql-8-0-rc1-highlights/,就能想象我们的代码路径不会比较短。)
所以这里合理的测试就是拿latin1编码来比较8.0与5.7/5.6。
(就UTF8而言,胜者是8