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


10

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結果は同じです


5
1秒間実行されるベンチマーク?これは一種のジョークですか?

:へ@pfo、I変更--concurrency=10 --number-of-queries 5000

1
my.cnfはMyISAMを構成しますが、ベンチマークはInnoDBを使用します。申し訳ありませんが、これはまだ冗談です(変更しない場合のInnoDBのデフォルトも同様です)
Laurynas Biveinis

3
my.cnfにInnoDBのチューニングがありません。デフォルトの構成に対するベンチマークは役に立たず、この短い期間のベンチマークも役に立たない。
アーロンブラウン

回答:


9

これは驚くべきことかもしれませんが、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のパフォーマンスを向上させる場合は、それを調整する必要があります。実際、MySQL Bakeoffを実行するアイデアをDBA StackExchangeで説明しました

どういう意味ですか?

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


1
正解ですが、OPには当てはまらないと思います。彼がInnoDBを構成すると、次のようになります。
Laurynas Biveinis、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.