为什么 mysql 5.5 比 5.1 慢(linux,使用 mysqlslap)

Koe*_*err 10 mysql mysql-5.5 mysql-5.1

my.cnf(5.5 和 5.1 是一样的):

back_log=200
max_connections=512
max_connect_errors=999999
key_buffer=512M
max_allowed_packet=8M
table_cache=512
sort_buffer=8M
read_buffer_size=8M
thread_cache=8
thread_concurrency=4
myisam_sort_buffer_size=128M
interactive_timeout=28800
wait_timeout=7200
Run Code Online (Sandbox Code Playgroud)

mysql 5.5:

..mysql5.5/bin/mysqlslap -a --concurrency=10 --number-of-queries 5000 
      --iterations=5 -S /tmp/mysql_5.5.sock --engine=innodb
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 15.156 seconds
        Minimum number of seconds to run all queries: 15.031 seconds
        Maximum number of seconds to run all queries: 15.296 seconds
        Number of clients running queries: 10
        Average number of queries per client: 500
Run Code Online (Sandbox Code Playgroud)

mysql5.1:

..mysql5.5/bin/mysqlslap -a --concurrency=10 --number-of-queries 5000 
      --iterations=5 -S /tmp/mysql_5.1.sock --engine=innodb
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 13.252 seconds
        Minimum number of seconds to run all queries: 13.019 seconds
        Maximum number of seconds to run all queries: 13.480 seconds
        Number of clients running queries: 10
        Average number of queries per client: 500
Run Code Online (Sandbox Code Playgroud)

为什么 mysql 5.5 比 5.1 慢?

BTW:我试过mysql5.5/bin/mysqlslapmysql5.1/bin/mysqlslap,结果是一样的

Rol*_*DBA 9

您可能会觉得这令人惊讶,但在某些情况下,MySQL 5.1 的性能可能优于 MySQL 5.5。

Percona 在 MySQL 的多个版本中进行了一次烘焙

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1(内置 InnoDB)
  • 带有 InnoDB 插件的 MySQL 5.1
  • MySQL 5.5
  • MySQL 5.6

所有测试都是在未配置 MySQL 的情况下执行的(换句话说,没有创建 my.cnf)。结果?

  • MySQL 4.1 执行最好的单线程
  • 带有 InnoDB 插件的 MySQL 5.1 在多核上的扩展性优于 5.1 InnoDB built、5.5 和 5.6

如果您希望较新版本的 MySQL 性能更好,则必须对其进行调整。事实上,我在 DBA StackExchange 中描述了执行 MySQL Bakeoff 的想法

我的意思是什么?

在 MySQL 5.5 中,有新的 InnoDB 选项可用于利用更多专用读线程、写线程和整体 I/O 容量。这可以在多核服务器中使用更多 CPU。如果不进行配置,MySQL 5.5 将在与旧版本 MySQL 相同的级别运行,在大多数情况下。有时,它的表现可能更糟。