web-dev-qa-db-ja.com

mysql 5.5が5.1より遅い理由(linux、mysqlslapを使用)

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/mysqlslapおよびmysql5.1/bin/mysqlslap、結果は同じです

10
Koerr

これは驚くべきことかもしれませんが、MySQL 5.1は特定の状況下でMySQL 5.5よりも優れている場合があります。

Perconaは、MySQLの複数のリリース間でベイクオフを実行しました

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1(組み込みInnoDBを使用)
  • MySQL 5.1とInnoDBプラグイン
  • 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では、より専用の読み取りスレッド、書き込みスレッド、および全体的なI/O容量を利用するための新しいInnoDBオプションがあります。これにより、マルチコアサーバーでより多くのCPUを使用できます。未構成のままにすると、MySQL 5.5は、ほとんどの場合、古いバージョンのMySQLと同じレベルの戦場で動作します。場合によっては、パフォーマンスが低下する可能性があります。

9
RolandoMySQLDBA