MySQL 5.6 vs MySQL 5.5 性能对比初步测试结果

在MySQL 推出第一个5.6的GA版本后,我们对5.6进行了简单的性能对比测试。测试的基本思路是在同一台服务器上(保证硬件环境完全一样),先后安装MySQL 5.6和5.5,使用sysbench工具进行同样的压力测试,对比结果。

第一次对比测试

服务器配置:8核CPU+16G内存的HP360服务器

测试压力:sysbench的oltp的性能测试,测试表数据量5000

Read_only结果:

Read_write结果:

 

这里出现了一个比较奇怪的现象,MySQL5.6read only测试的结果反而要比MySQL5.5差了10%左右。Percona公司的Peter Zaitsev在测试时也有这个现象,Peter在其测试报告里没有分析出具体是什么原因导致这个结果,只是表示还需要一段时间才能更好的了解MySQL5.6的一些原理。不过在read write上5.6倒是体现出明显的优势。

 

第二次对比测试

服务器配置:64核CPU+64G内存的HP580服务器

测试压力:sysbench的oltp的性能测试,测试表数据量5000

Read_only结果:


 Read_write结果:


 

在这次测试中,无论是只读还是读写,MySQL5.6的性能都明显好于MySQL5.5,尤其在128线程的读写模式下,MySQL5.6的性能几乎6倍于MySQL5.5。我们猜测MySQL 5.6在多CPU核数的利用上进行了优化,因此在硬件配置好的机器上更能体现出优势。

不过,在这次的测试中,MySQL5.6在读写模式下会产生大量的死锁(5.5并没有):

read-write(5.6)

16 Threads

32 Threads

64 Threads

128 Threads

deadlocks

avg(max)

111.67(125)

357.67(363)

2740(7087)

1205(3211)

MySQL官方说法是在InnoDB内部改进了锁机制,但为什么会产生大量死锁,原因还不清楚。

总的来说,MySQL5.6在InnoDB的性能提升上还是让人有惊喜的,而且还有了等待已久的Online DDL功能,估计我们接下去也会把升级5.6的计划提上日程。

猜你喜欢

转载自ctripmysqldba.iteye.com/blog/1856668