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

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

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

为什么MySQL 5.5慢于5.1?

顺便说一句:我被审判了 mysql5.5/bin/mysqlslapmysql5.1/bin/mysqlslap,结果相同

有帮助吗?

解决方案

您可能会发现这令人惊讶,但是在某些情况下,MySQL 5.1可能胜过MySQL 5.5。

Percona在MySQL的多个发行版中进行了烘烤

  • mysql 4.1
  • MySQL 5.0
  • MySQL 5.1(带有内置InnoDB)
  • mysql 5.1与innodb-plugin
  • mysql 5.5
  • mysql 5.6

所有测试均使用MySQL未配置进行(换句话说,没有进行my.cnf)。结果?

  • MySQL 4.1执行最好的单线程
  • MySQL 5.1在多个内核上具有InnoDB插件量表比构建的5.1 InnoDB更好,5.5和5.6

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

我的意思是什么?

在MySQL 5.5中,有一些新的InnoDB选项,用于利用更多专用的读取线程,编写线程和总体I/O容量。这可以参与多功能服务器中的更多CPU。剩下的未配置,MySQL 5.5将在同一级别的竞争环境中运行,在大多数情况下,就像MySQL的较旧版本一样。有时,它的性能可能更糟。

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top